cuda编程时GPU利用率的实时监控

  • 1 replies
  • 105 views
cuda编程时GPU利用率的实时监控
« 于: 一月 31, 2020, 09:28:14 am »
我想实现这样一个功能,在cuda程序运行的时候,监控当前程序的GPU利用率,当GPU利用率下降到一定阈值时,暂停当前的程序,切换另外一个程序接着运行。
请问这种功能可以在代码层面实现么?如果可以的话能大致描述一下实现细节么
感谢帮助

Re: cuda编程时GPU利用率的实时监控
« 回复 #1 于: 二月 02, 2020, 12:48:29 pm »
我想实现这样一个功能,在cuda程序运行的时候,监控当前程序的GPU利用率,当GPU利用率下降到一定阈值时,暂停当前的程序,切换另外一个程序接着运行。
请问这种功能可以在代码层面实现么?如果可以的话能大致描述一下实现细节么
感谢帮助

关于你的两个问题:
(1)监控GPU的使用率可以考虑nvapi/nvml。或者你用perl脚本之类的去匹配nvidia-smi dmon的结果也可以。但是正常来说,它们报告的GPU使用率,常规的具有一定的occupancy和blocks数量的kernel运行期间,都是100%(不管kernel有多渣),基本上无太大的参考意义。

(2)关于如何设计一个根据“GPU使用率”不同而切换执行不同的可执行文件的问题,这个不是本论坛的负责内容。以及,建议尽量提升自己的kernel性能,而不是其他的任何“技巧”。