avx

    1热度

    1回答

    的我有一个函数: void Func(const int * a, const int * b, size_t size, int p, int * c) { for (size_t i = 0; i < size; ++i) c[i] = (a[i]*b[i])%p; } 执行该功能为整数的数组许多模乘法。 所有整数都是正数。 而且我需要改善它的表现。 我想到了SS

    0热度

    1回答

    我目前正在处理一个处理图像的项目。为了加速这个过程(并增加我的知识),我决定使用SIMD指令编写一些基本功能。 使用for循环的代码是 int idx; uint16_t* A, B, C; float gAlpha = 0.8; float alpha = 0.2; for (size_t rw = 0; rw < height; rw++) { for (size_t cl

    3热度

    1回答

    在我的项目中,我使用Eigen3.3库来计算6x6矩阵。我决定调查AVX指令是否真的让我对SSE有任何加速。我的CPU不支持两组: model name : Intel(R) Xeon(R) CPU E5-1607 v2 @ 3.00GHz flags : ... sse sse2 ... ssse3 ... sse4_1 sse4_2 ... avx ... 所以,我编译gcc4.8

    3热度

    1回答

    我有一个由7个__m256值组成的结构,它存储在内存中的32字节对齐。 typedef struct { __m256 xl,xh; __m256 yl,yh; __m256 zl,zh; __m256i co; } bloxset8_t; 我通过使用posix_memalign()函数动态分配的数据,或者使用用于静态分配数据的(aligne

    -1热度

    1回答

    使用AVX内在和Kahan的总和算法,我已经试过这(只是一个“加法”的部分): void add(const __m256 valuesToAdd) { volatile __m256 y = _mm256_sub_ps(valuesToAdd, accumulatedError); volatile __m256 t = _mm256_add_ps(accumulator,

    3热度

    1回答

    我有一些依赖于AVX的代码。 在相同的代码库中,我也使用TZCNT。 后者是BMI1的一部分。我知道我可以使用CPUID来测试这条指令,但我很懒,所以我没有真正实现它。 要测试支持,我只需执行AVX指令。如果我得到一个#UD未定义的指令异常,我知道CPU不支持AVX。 但是tzcnt与bsf(或bsr - 我总是忘记哪个是哪个)向后兼容(种类),所以不会触发异常。 如果我有AVX支持,是不是暗示支

    0热度

    1回答

    考虑下面的代码: // Thin/POD struct struct Data { __m256d a; __m256d b; }; // Thick base class class Base { // ... }; // Thick derived class class Derived : public Base { Data data; //

    2热度

    2回答

    我有以下代码(the xorshift128+ code from Wikipedia修改为使用向量类型): #include <immintrin.h> #include <climits> __v8si rand_si() { static auto s0 = __v4du{4, 8, 15, 16}, s1 = __v4du{23, 34, 42, 69};

    0热度

    1回答

    我刚安装dlib使用conda从conda-forge渠道。是否有可能知道它是否使用AVX支持构建?

    0热度

    1回答

    编译英特尔AVX扩展中使用gcc7或clang的256位向量数据类型(__m256d)失败。我能够编译和使用128位向量(不带-mavx标志)。但是,只要我尝试avx矢量,或者找不到一些汇编器命令定义(GCC7)或者存在链接器错误(clang)。我使用端口来安装所有编译器或软件包。 程序: #include <iostream> #include <emmintrin.h> #include