avx512

    0热度

    1回答

    我有一个__m512d内在向量,我需要他的元素的总和。有没有简单的方法来做到这一点?我专注于计算性能,所以我需要快速执行此操作。我对内在的知识不足以自己去做,所以我需要你的帮助。 谢谢:)

    1热度

    1回答

    我在阅读this关于如何使用Intel C++编译器和Intel Knights Landing上的AVX512支持编译C/C++代码的文档。 不过,我对这个部分有点困惑: -xMIC-AVX512:使用该选项生成AVX-512F,AVX-512CD,AVX-512ER和AVX-512FP。 -xCORE-AVX512:使用此选项可生成AVX-512F,AVX-512CD,AVX-512BW,AV

    -1热度

    1回答

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

    0热度

    1回答

    英特尔工程师写道,我们应该使用VZEROUPPER/VZEROALL以避免在所有处理器上昂贵的过渡到非VEX状态,包括未来的至强处理器,但不是在至强融核:https://software.intel.com/pt-br/node/704023 人们还测量并发现VZEROUPPER和VZEROALL是昂贵的上骑士降落: 36在64位模式(30个时钟在32位模式)两者接收指令的时钟周期。 查看上面的链

    4热度

    2回答

    当VM迁移到不同的硬件时,是否可以通知在Google Compute VM上运行的应用程序? 我是一个大量使用矢量指令(SSE/AVX/AVX-512)的应用程序(HMMER)的开发人员。我正在开发的版本在启动时探测其硬件,以确定哪些向量指令可用,并选择最佳集合。 我们一直在考虑在Google Compute和其他云引擎上运行我们的程序,一个问题是,如果虚拟机在运行我们的程序时从一台物理机迁移到另

    0热度

    1回答

    根据说明文件,从gcc 4.9开始支持AVX-512指令集,但是我有gcc 4.8。目前,我有这样的代码用于加的内存块(它的保证是小于256个字节,所以没有溢出后顾之忧): __mm128i sum = _mm_add_epi16(sum, _mm_cvtepu8_epi16(*(__m128i *) &mem)); 现在,翻翻文件,如果我们有,比方说,四字节遗留下来的,我可以使用: __mm

    2热度

    1回答

    Xeon-Phi骑士登陆核心有一个快速exp2指令vexp2pd(内部_mm512_exp2a23_pd)。英特尔C++编译器可以使用编译器附带的短矢量数学库(SVML)矢量化exp函数。具体而言,它称为功能__svml_exp8。 然而,当我通过调试步骤我没有看到__svml_exp8使用vexp2pd指令。这是许多FMA操作的复杂功能。据我所知,vexp2pd比exp不太准确,但如果我用-fp

    4热度

    1回答

    我试着写与至强融核平台KNC一些指令内联汇编代码,使用k1om-mpss-linux-gcc编译器。我想在我的代码中使用一个掩码寄存器来向量化我的计算。这是我的代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/time.h> #include <assert.h> #include <

    3热度

    1回答

    _mm512_storenrngo_pd和_mm512_storenr_pd有什么区别? _mm512_storenr_pd(无效*公吨,__m512d V): 商店压缩双精度(64位)从V 浮点元素存储器地址公吨用非读取暗示到处理器。 我不清楚,什么没有读取提示的意思。这是否意味着它是非缓存一致写入。这是否意味着重用更昂贵或者不一致? _mm512_storenrngo_pd(无效*公吨,__m

    7热度

    2回答

    我希望对zmm 0-31寄存器组的四字单元执行整数算术运算,并保留这些运算产生的进位位。看来这只有在数据在通用寄存器组中进行处理时才有可能。 因此,我想从zmm 0-31寄存器之一复制信息到其中一个通用寄存器。在处理通用寄存器中的64位数据后,我想将数据返回到来自同一个QuadWord位置的原始zmm 0-31寄存器。我知道我可以从通用寄存器RAX使用命令移动数据到AVX512寄存器zmm26四字