【问题标题】:AVX2 instructions latency and throughputAVX2 指令延迟和吞吐量
【发布时间】:2019-08-27 11:26:49
【问题描述】:

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

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

但不幸的是,Intel Intrinsics Guide 不包含带有这些内在函数/指令的延迟和吞吐量数字的表。我在哪里可以找到这些信息?

【问题讨论】:

    标签: performance x86 x86-64 simd avx2


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢! uops.info 表太棒了!我唯一想念的是 AMD CPU 的数据。
    • uops.info 还是很新的。根据他们的paper,他们正在研究 AMD x86 CPU 的算法,以获取延迟、吞吐量和 μops 端口信息。
    猜你喜欢
    • 2022-12-25
    • 2017-03-05
    • 2015-04-16
    • 2018-12-14
    • 2021-04-16
    • 2017-11-19
    • 2012-05-16
    • 2011-02-27
    • 2017-10-29
    相关资源
    最近更新 更多