索引处的数组的内存对齐方式

时间:2016-11-05 13:06:59

标签: c++ vector simd memory-alignment

是否有可能告诉编译器vector[index]对于特定索引有128位内存对齐?

或者,我们无法使用索引执行此操作,并且必须使用指针执行此操作?

1 个答案:

答案 0 :(得分:1)

罕见我可以回答一个问题......但混合语言有帮助。

我认为他在问是否有像icc /

这样的东西
#pragma assume aligned : 64 ::A

,或类似的东西......在ifort中它是

!DIR$ ASSUME_ALIGNED :64 :: A 

还有用于阵列对齐的编译器开关,所有这些都是为了帮助进行内存传输。如果这是一个好习惯。

https://software.intel.com/en-us/node/522571

在Xeon-Phi和AXV-512的英特尔网络研讨会上,你也是一堆这样的东西,所以我认为有一个gcc等价物。只需跳过128然后转到512(64字节),然后你就准备AVX 512了;)

事实上,一个人可以达到256似乎表明希望AVX 2K