我在我的 cuda 内核上运行了 cuda-11.2 nsight-compute 。
它报告说 SOL SM 为 79.44%,我认为这非常接近最大值。SOL L1 为 48.38%
当我检查屋顶曲线图时,我发现我的测量结果与峰值性能相差甚远。
达到:4.7 GFlop/s 。
车顶线峰值:93 GFlop/s 左右。
我还看到 ALU 管道利用率为 80+%
那么,如果 ALU 管道被充分利用,为什么根据车顶线图实现的性能会低很多呢?
请注意,这是在 RTX 3070 上,单精度峰值为 17.6 TFlop/s:
更新
我想我知道这里发生了什么……@robert-crovella 让我走上了正确的轨道,表明 ALU 是整数运算,因此不包括在内。而且这些并不是唯一不包括在内的操作!
屋顶线图仅显示 fp32 和 fp64 操作,而不显示 fp16 操作。
我的代码使用半精度浮点数,我怀疑屋顶线图不适用于我的代码。