sse

    2热度

    3回答

    我需要将内存中的float大数组转换为double的数组,然后返回。 Visual C++ 15更新3中是否有任何SSE编译器内部函数有帮助? 编辑:它是两种线格式之间的转换,所以#define不会帮助。数据结构以浮点形式存储,但第三方处理库需要双精度数组。

    0热度

    1回答

    我试图使用Intel Intrinsics在float阵列上快速执行操作。这些行动本身似乎运作良好;但是,当我尝试将操作的结果转换为标准C变量时,我得到一个SEGFAULT。如果我将下面的指示线注释掉,程序就会运行。如果我保存指定行的结果,但不以任何方式操纵它,程序运行正常。只有当我试图(以任何方式)与_mm_cvtss_f32(C)的结果进行交互时,我的程序才会崩溃。有任何想法吗? float

    -1热度

    1回答

    我正在编程一个完美的程序来并行化多媒体扩展。该程序包括转换图像,所以我通过一个矩阵,我修改其中的每个像素。为了加快速度,我使用了多媒体扩展: 起初我使用了SSE3扩展并实现了2.5加速。接下来,我编程扩展了使用AVX扩展(双倍大小矢量)的sse算法,但是我没有得到SSE3的收益。用SSE执行程序的时间或多或少与AVX相同。 这里是SSE和AVX,分别代码的总结: for(i=0; i<lim;

    1热度

    1回答

    背景:我开发了一个用C/C++编写的计算密集型工具,必须能够在各种不同的x86_64处理器上运行。为了加快float和integer的计算速度,代码中包含了很多SSE *内在函数,并针对不同的CPU SSE功能量身定制了不同的路径。 (由于CPU标志在程序开始时被检测到并用于设置布尔值,因此我假设对于量身定制的代码块的分支预测将非常有效地工作)。 为简单起见,我认为只有SSE2到SSE4.2需要考

    0热度

    1回答

    我正在尝试学习SSE指令,并且我渴望乘以两个matices。然而,当我尝试初始化其中之一,该计划与 Access violation when typing in location 崩溃下面是引发错误的代码: typedef union{ __m128 vec; float* afloat; }u_float; int main(){ __declspec(align

    1热度

    1回答

    我正在使用AVX2 x86 256位SIMD扩展。我想要做一个32位整数成分明智的if-then-else指令。在英特尔文档中,这样的指令称为vblend。 英特尔内部指南包含函数_mm256_blendv_epi8。这个功能几乎可以满足我的需求。唯一的问题是它与8位整数一起工作。不幸的是,文档中没有_mm256_blendv_epi32。我的第一个问题是:为什么这个功能不存在?我的第二个问题是:

    2热度

    2回答

    比方说,我有这样的事情: class C { private: __m128i m0; __m128i m1; __m128i cm0; int s0; ... } 这可能会导致问题,因为M0,M1,和C 6-10都不能保证是对齐的16字节,允许对准相关的访问冲突。如果我绝对想要有私人的simd级别会员,我可以保证我的联盟,我应该怎么做?

    1热度

    1回答

    因此,这是我正在尝试完成的。在我的C++项目中,必须使用Microsoft Visual Studio 2015或更高版本进行编译,我需要根据用户的CPU中可用的最新SIMD指令集,有些代码具有不同版本,其中包括:SSE,SSE2,SSE3 ,SSSE3,SSE4.1,SSE4.2,AVX,AVX2和AVX512。 由于我在这里寻找的是编译时CPU调度,我的第一个猜测是,它可以很容易地使用编译器宏

    1热度

    2回答

    我正在寻找用于处理速度改进的并行处理算法。 我想测试Agner Fog's vector class library, VCL。 我在想如何选择不同的矢量类,例如Vec16c(SSE2指令集)和Vec32c(AVX指令集)。 我使用Intel®Atom™x5-Z8350处理器,并根据规格支持SSE4.2指令集。 如何在硬件支持方面有效地选择矢量类? 对我的处理器说,我可以使用AVC指令集推荐的Ve

    3热度

    1回答

    我试图找到一种更有效的方法来“旋转”或将avx _m256矢量中的32位浮点值向右或向左移动一个地方。 使得: A7,A6,A5,A4,A3,A2,A1,A0 变得 0,A7,A6,A5,A4,A3,A2,A1 (我不介意,因为我反正更换单元中的数据丢失。) 我已经查看了这个线程:Emulating shifts on 32 bytes with AVX 但我不雷尔y理解正在发生的事情,并且它不会