执行 AVX 整数运算
Posted
技术标签:
【中文标题】执行 AVX 整数运算【英文标题】:Performing AVX integer operation 【发布时间】:2013-04-29 17:02:50 【问题描述】:我正在尝试使用 AVX 优化一些整数 (_int64) 操作。但是,我什至不能简单的添加操作。它一直告诉我非法指令。请问我可以纠正我做错了什么吗?谢谢
for (int i = 0; i < 1; i+=4)
__m256i rA, rB, rC;
__m256i *iu, *ju, *ku;
iu = (__m256i *)(MatrixAiB1 + i);
ju = (__m256i *)(MatrixAjB1+ i);
ku = (__m256i *) (store+ i);
rA=_mm256_load_si256(iu);
rB=_mm256_load_si256(ju);
rC=_mm256_add_epi16(rA,rB);
_mm256_store_si256(ku,rC);
【问题讨论】:
看看cpuid:here或here 【参考方案1】:您正在使用来自AVX 2 指令集的指令,该指令集尚未得到广泛支持。非法指令异常表明您在不支持这些指令的机器上运行代码。
这些指令于今年首次在 Haswell 处理器中引入 - 因此“未广泛支持”目前意味着“不受任何公开可用的处理器支持”。
【讨论】:
非常感谢。需要确认以上是关于执行 AVX 整数运算的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 AVX 上模拟 _m256 类型的整数按位运算?
学习:基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破