我想测试 NVIDIA GPU (OpenCL/CUDA) 的寄存器带宽。怎么办?
网上找不到寄存器带宽测试的资料,只有各级缓存的带宽测试。
寄存器具有 0 时钟周期访问延迟,并且与 GPU 核心时钟频率绑定。
假设 GPU 使用 FP32 融合乘加指令具有 10 TFlops/s 的计算吞吐量。每个 FMA 指令执行 2 个触发器,从寄存器加载 3 个 FP32 输入,并将 1 个 FP32 输出写入寄存器。每个 FP32 编号为 4 字节。这使得每秒 5 万亿次 FMA 调用,每秒访问 20 万亿 FP32 号码,组合寄存器带宽为 80TB/s。
因此 GPU 寄存器带宽为(FP32 的 TFlops/s)×(8 字节/Flop)。这对所有 GPU 都有效。
例如,您可以使用此 OpenCL-Benchmark 工具测量 FP32 TFlops/s。