AVX2指令延迟和吞吐量

use*_*005 6 performance x86 x86-64 simd avx2

我对以下内在函数/指令的性能感兴趣:

  • _mm256_andnot_si256 / vpandn
  • _mm256_and_si256 / vpand
  • _mm256_cmpgt_epi32 / vpcmpgtd
  • 和其他一些。

但是不幸的是,《英特尔Intrinsics指南》没有包含具有这些内在/指令的延迟和吞吐量数字的表。在哪里可以找到此信息?

wim*_*wim 8

延迟和吞吐量数字的三个来源是:

InstlatX64列出了许多不同形式的指令(内存和/或寄存器操作数,不同的操作数宽度等),但是没有有关每个执行端口的触发器数量的信息。对于性能优化,不仅要关注延迟和吞吐量数量,而且每个执行端口的这些触发都非常重要。该信息由Agner Fog的说明表和uops.info提供。

  • uops.info仍然很新。根据他们的论文(https://arxiv.org/pdf/1810.04610.pdf),他们正在研究AMD x86 CPU的算法,以获取延迟,吞吐量和μops端口信息。 (4认同)