gpt4 book ai didi

x86-64 - AVX512 与矢量比较不屏蔽

转载 作者:行者123 更新时间:2023-12-05 04:47:54 30 4
gpt4 key购买 nike

我错过了 avx2 中生成向量而不是掩码的比较指令。在 avx512 中完成同样的事情最有效的方法是什么? _mm512_cmp_ps_mask 后跟展开吗?

最佳答案

是的,我想比较一下和vpmovm2d ,尽管通常您可以在下一步中使用合并掩码或零掩码(可能使用 set1(-1) 常量),而不是您要对向量执行的任何操作。例如为了计算匹配项,而不是 _mm_sub_epi32() 与向量 0/-1 比较结果,只需执行合并屏蔽添加。

当然,对于 256 位向量,AVX2 比较指令仍然可用。解压 512 位矢量的一半可能不值得,但有时用 AVX-512 完全避免 512 位矢量是值得的(例如,避免在某些 CPU 上使用 clock-speed penalties,并避免关闭矢量端口 1 上的 ALU)。因此,您仍然可以利用 AVX-512 中有用的新指令,以及不需要与 VEX 编码的 AVX1/AVX2-only 指令一起使用的操作数的额外寄存器 (x/ymm16..31)。

不过,在某些情况下,为了使用 512 位向量而接受将掩码变回向量的代价可能是值得的。

关于x86-64 - AVX512 与矢量比较不屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68310432/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com