首页 > 解决方案 > 哪个更好?mask_compress + store 或 mask_compressstoreu

问题描述

我正在使用 sde(英特尔的模拟器)来运行 avx512 代码,并且没有实际的硬件来进行基准测试。

出于某种原因,我找不到有关 compress + store 和 compressstore 之间性能比较的信息。

compress + store 将存储整个寄存器,而不仅仅是选定的元素,但我很好。而 compressstore 必须屏蔽未选择的元素。

什么是更好的?据我所知,英特尔网站上没有延迟信息。

标签: simdavx512

解决方案


我看错了地方:压缩指令仅适用于 Epi32,并且有延迟:

_mm256_mask_compress_epi32有延迟 6 _mm256_mask_compressstoreu_epi32有延迟 11,其他似乎需要 VBMI2,这在我的目标上不可用。

所以看起来compress + store应该更好。


推荐阅读