以编程方式获取GPU利用率

时间:2010-01-29 09:19:01

标签: .net c++ gpu

是否有标准的方法来获取GPU上的当前负载?我正在寻找类似于任务管理器显示CPU%的东西。诸如GPU-Z之类的实用程序显示了这个值,但我不确定它是如何得到的。我目前对AMD显卡特别感兴趣,任何指针都会有所帮助。

如果没有干净的API方法,是否有任何程序可以捕获其输出以获取此信息?

3 个答案:

答案 0 :(得分:5)

对于AMD / ATI卡,请查看GPU PerfStudio。 http://developer.amd.com/gpu/Pages/default.aspx

对于NVidia卡,请查看PerfHUD。 http://developer.nvidia.com/object/nvperfhud_home.html

MS的DirectX SDK中还有一个更通用的工具叫Pix,它与这些工具部分重叠。

AFAIK没有办法像GPU的%使用那么简单,因为它并不那么简单。但是这些工具将有助于调试和分析GPU中正在发生的事情。 ATI和NVidia都提供公共文档,其中包含查找和修复特定类型GPU瓶颈的建议步骤。

答案 1 :(得分:4)

尝试nvidia-smi -a。它随nvidia驱动程序一起提供。提供当前GPU核心和内存利用率信息。

nvidia - 帮助提供全面的帮助信息。

答案 2 :(得分:1)

此类信息始终通过PerformanceCounter或WMI提供。使用Perfmon.exe或下载WmiCodeCreator以了解卡制造商提供的内容。也许不用说,这种代码不能从一台机器移植到另一台机器。