【问题标题】:How many 8 bit operations can be performed on 32 bit ALU of a GPU in one cycle if the IPC is 1?如果 IPC 为 1,一个 GPU 的 32 位 ALU 在一个周期内可以执行多少个 8 位操作?
【发布时间】:2015-06-03 17:21:14
【问题描述】:

它可以在每个周期执行四次 8 位操作(SIMD 操作)还是一次?按照惯例,高位被设为零,8 位被视为 32 位字,其高位为零以执行此类操作。 目前处理器中是否有任何硬件功能可以帮助每个周期执行更多数量的低位操作(尤其是在 NVIDIA GPU 中)?

【问题讨论】:

  • 也许您可以限制自己询问要么特定的 GPU 或特定的 CPU?
  • @talonmies 将其限制为仅限 GPU 的问题
  • 你见过this question吗?

标签: cuda gpu computer-architecture


【解决方案1】:

AFAIK GPU 上没有任何算术指令“可以在一个周期内在 GPU 的 32 位 ALU 上执行”GPU 上的大多数算术功能单元都是 流水线 resulting in latencies of around 5-25 clock cycles。一个单元可以在每个时钟发出一个新操作,它可以在每个时钟退出一个操作,但它不能“在一个周期内”执行一个操作。

GPU 有simd vector intrinsics,其中一些与您所描述的相似。 throughput of these 会因特定的 GPU 类型以及特定的操作类型而异。

因此,例如,vabsdiff4 SIMD 内在函数(对打包成 32 位字的 4 字节向量执行四个 8 位算术运算)在开普勒上的吞吐量应该大致相同作为 32 位整数运算(加、减等)。大多数其他 SIMD 内部函数的吞吐量较低。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2021-01-19
    • 2011-07-14
    • 1970-01-01
    • 2017-09-04
    相关资源
    最近更新 更多