我正在开发GPU卡的监控代理,能够使用CUDA和NVML库提供实时遥测。
我想更多地了解GPU核心操作与英特尔/ AMD CPU内核的工作方式。
可用于CPU的一个公式是(cpumhz或Workload平均峰值CPU利用率(MHz)),如下所示:
((CPUSPEED * CORES) /100) * CPULOAD = Workload average peak CPU utilization
更多细节在这里 https://vikernel.wordpress.com/tag/vmware-formulas/
同样的公式可以应用于GPU也是正确的。例外是CUDA核心/着色器代替" CORES"或者我可以通过实际的gpu时钟使用量来倍增当前时钟速度,因为GPU具有1000核心/着色器的核心时钟。
例如:
((GRAPHICS_MHZ * CUDA_CORES) /100) * GPU_LOAD = GPU MHZ utilization
答案 0 :(得分:2)
答案 1 :(得分:0)
我想我根据GPU卡的工作方式找到了答案。由于每个核心并行运行,它们比我读过的CPU核心工作效率更高。
使用CPU内核,你可以使用上面的公式,但如果你想看到gpu卡上使用的mhz,你可以简单地使用:
(GRAPHICS_MHZ * /100) * GPU_LOAD = GPU MHZ utilization
好处是你回来的GPU_LOAD与GPU卡提供的计算方法不同于从CPU卡获得的计算结果。如果有人有不同意见,我很乐意听到。