数组在索引处的内存对齐

Memory alignment of an array at an index

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

或者,我们不能用索引来做,而必须用指针来做?

我很少能回答 C 题...但混合语言会有所帮助。

我想他是在问是否有类似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的希望