gpt4 book ai didi

performance - FP 和整数除法是否在 x86 CPU 上竞争相同的吞吐量资源?

转载 作者:行者123 更新时间:2023-12-04 15:28:56 26 4
gpt4 key购买 nike

我们知道 Intel CPU 在端口 0 上的非完全流水线除法执行单元上执行整数除法和 FP div/sqrt。我们从 IACA output 了解到这一点。 、其他已发表的内容和实验测试。 (例如 https://agner.org/optimize/ )

但是是否有独立的 FP 和整数分频器(仅竞争通过端口 0 的调度),或 如果一个是整数而另一个是 FP,交错两个 div-throughput-bound 工作负载是否会使它们的成本几乎线性增加?

英特尔 CPU(与 AMD 不同)将整数除法解码为多个 uops,例如10 为 div r32在天湖上。

AMD CPU 同样在一个执行端口上有分频器,但我对它们知之甚少,也没有可供测试的分频器。 AMD 整数除法解码为只有几个 uops(写入 RDX 和 RAX),而不是微编码。在 AMD 上的实验可能更容易解释,而不会有大量的 uops 飞来飞去,这可能会导致 int 和 fp div 之间发生争用。

进一步阅读:

  • 半相关:Radix divider internals
  • Floating point division vs floating point multiplication - 各种 Intel 和 AMD CPU 上的 FP div/sqrt 与乘法/FMA 吞吐量。
  • Trial-division code runs 2x faster as 32-bit on Windows than 64-bit on Linux - Intel 的 64 位整数除法要慢很多。解码为更多 uops(SKL 上的 36 对 10),甚至不会使 arith.divider_active 饱和性能计数器。
  • 最佳答案

    英特尔 CPU 架构师 Ronak Singhal mentions on Twitter Broadwell(以及 ICL 之前的后续架构)使用 FP 硬件进行除法,但 Ice Lake 有一个专用的整数除法单元:

    Keep in mind that Broadwell that this was benchmarked on does integer division on the FP divider. In Ice Lake, there is now a dedicated integer divide unit.



    所以我预计会有激烈的竞争。整数除法执行的许多操作无疑是不使用除法器的普通 ALU 操作,因此我不一定期望它们的逆吞吐量是严格累积的,但它们肯定会竞争。

    Ronak 并没有暗示任何关于前 Broadwell 实现的内容,但基于类似的端口分配和性能,至少可以追溯到 Sandy Bridge,我认为我们可以期待相同的共享。

    关于performance - FP 和整数除法是否在 x86 CPU 上竞争相同的吞吐量资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422171/

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