我正在尝试识别GPU执行性能中的瓶颈,以示泰坦V/V100上的深度学习模型。我知道必须满足基础内核执行,以基于https://devblogs.nvidia.com/parallelforall/programelforall/programpompramming-tensor-cores-cores-cuda-9/
在张张核心上执行。" nvprof"提供了一种将所有内核执行在GPU上转移的简便方法,但似乎并没有说是否实际使用了张量芯。这是捕获此类信息的方法吗?
根据NVIDIA提出的这些幻灯片,称为"具有混合精度的训练神经网络",您可以使用nvprof
查看是否使用了张量芯。
幻灯片的第12页本质上说要使用nvprof
运行该程序并寻找" 884"内核。
,例如
$ nvprof python test.py
...
37.024us 1 37.024us 37.024us 37.024us volta_fp16_s884gemm_fp16…
根据文档,NVIDIA现在正在向NVML添加一组名为GPM(GPU性能指标,GPU性能指标)的新指标。示例指标包括张量核心利用率(例如NVML_GPM_METRIC_ANY_TENSOR_UTIL
)和 CUDA核心利用率(例如NVML_GPM_METRIC_FP64_UTIL
)。
不幸的是,我试图在我的机器上查询这些指标,但它们没有。我有一个GEFORCE 3090,所以我想您可能需要ADA甚至料斗设备来利用这些很酷的新功能。