Memory 在16字节和32字节边界上对齐内存

Memory 在16字节和32字节边界上对齐内存,memory,alignment,sse,simd,avx,Memory,Alignment,Sse,Simd,Avx,我正在使用SIMD指令(SSE和AVX)执行几个操作。据我所知,SSE指令在16字节对齐内存中工作得最好,AVX指令在32字节对齐内存中工作得最好 始终按照32字节边界分配内存,以便与SSE和AVX一起最佳使用,安全吗 是否曾经有过32字节对齐的内存不与16字节对齐的情况 是否曾经有过32字节对齐的内存不与16字节对齐的情况 对齐仅仅意味着地址是32的倍数。32的任意倍数也是16的倍数 谷歌“对齐”的第一个热门网站是维基百科,你可以通过链接找到,这就详细地解释了这一点 是否曾经有过32字节对齐的

我正在使用SIMD指令(SSE和AVX)执行几个操作。据我所知,SSE指令在16字节对齐内存中工作得最好,AVX指令在32字节对齐内存中工作得最好

始终按照32字节边界分配内存,以便与SSE和AVX一起最佳使用,安全吗

是否曾经有过32字节对齐的内存不与16字节对齐的情况

是否曾经有过32字节对齐的内存不与16字节对齐的情况

对齐仅仅意味着地址是32的倍数。32的任意倍数也是16的倍数

谷歌“对齐”的第一个热门网站是维基百科,你可以通过链接找到,这就详细地解释了这一点

是否曾经有过32字节对齐的内存不与16字节对齐的情况

对齐仅仅意味着地址是32的倍数。32的任意倍数也是16的倍数


谷歌“对齐”的第一个热门网站是维基百科,你可以点击链接到,这详细解释了这一点。

@jbapple:re:your edit。我故意表现得粗鲁无礼,不想再问这个琐碎的问题。下一步是什么?100是10的倍数吗?我也不希望任何人对这个答案投赞成票,所以这个问题可以删除。我知道我可以回滚你的编辑,但我不会这样做,因为我会屈服于礼貌的压力。彼得,我不想在这个答案的评论中与你进行辩论,用你的话来说,对不知道什么是“对齐”的人“故意粗鲁”是否可以表示在计算机内存上下文中。如果/当您转到Xeon phi时,建议使用64位对齐,因此我倾向于将其用于所有需要速度的阵列。那么为什么不使用64位对齐方式呢?我是这里唯一一个认为“当然不是”一点也不粗鲁的人吗?@Mystical:可能是的。这只是有点粗鲁,但这意味着提问者应该已经知道答案,因此一开始就没有提问,把每个人的时间都浪费在一个琐碎的问题上。但现在它吸引了一场投票,所以至少还有一个人不知道什么是对齐。我的第一个版本的答案省略了“对齐仅仅意味着地址是32的倍数”这句话,因为我还没有想到为什么有人需要问这个问题。这就是我脾气暴躁的原因,因为一开始它似乎只是一个数学问题。@jbapple:re:你的编辑。我故意表现得粗鲁无礼,不想再问这个琐碎的问题。下一步是什么?100是10的倍数吗?我也不希望任何人对这个答案投赞成票,所以这个问题可以删除。我知道我可以回滚你的编辑,但我不会这样做,因为我会屈服于礼貌的压力。彼得,我不想在这个答案的评论中与你进行辩论,用你的话来说,对不知道什么是“对齐”的人“故意粗鲁”是否可以表示在计算机内存上下文中。如果/当您转到Xeon phi时,建议使用64位对齐,因此我倾向于将其用于所有需要速度的阵列。那么为什么不使用64位对齐方式呢?我是这里唯一一个认为“当然不是”一点也不粗鲁的人吗?@Mystical:可能是的。这只是有点粗鲁,但这意味着提问者应该已经知道答案,因此一开始就没有提问,把每个人的时间都浪费在一个琐碎的问题上。但现在它吸引了一场投票,所以至少还有一个人不知道什么是对齐。我的第一个版本的答案省略了“对齐仅仅意味着地址是32的倍数”这句话,因为我还没有想到为什么有人需要问这个问题。这就是我脾气暴躁的原因,因为一开始它看起来只是一道数学题。