21032


デバイスで処理を実行させている時に、ホスト側でGPUの使用率を確認するAPIはありますか？  
現在nvidia-smi.exeを使って確認しているのですが、できればプログラム内で確認したいです。

開発環境は以下です。  
OS:Win7Pro  
VS:2012  
CUDA:7.5  
Device:GeForce GTX TITAN X

よろしくお願いします。


CC BY-SA 3.0
2015-12-18T02:11:43.173
20131
2016-01-18T09:38:16.260
13730
question
c++ c visual-studio cuda
GPUの使用率を確認するCUDAのAPIはありませんか？


実行時間の計測でよろしければ、ちょっと古い記事ですが[この辺](http://devblogs.nvidia.com/parallelforall/how-
implement-performance-metrics-cuda-cc/)が参考になります。

恐らく本当にやりたいことは遊んでいるコアがプログラム中のどこで発生しているかを知りたいのだと思いますが、シミュレーターでも使わない限り簡単に知ることはできません。CUDAのシミュレータは[gpuocelot](https://github.com/gtcasl/gpuocelot)が知られています。もともとLinux向けに作られていて、Windows用はまだ実験的だそうです。

コアレベルのチューニングは,CUDAではありませんが,[この記事](http://qiita.com/9_ties/items/15ab7fa198991a61a3a9)に感銘を受けました。地道な努力が必要みたいです...。


CC BY-SA 3.0
2015-12-18T03:31:21.947
20137
2015-12-18T03:31:21.947
7837
20131
answer


ググった程度の情報ですが、 nvidia-smi と同等の情報でよければ [NVIDIA Management
Library](https://developer.nvidia.com/nvidia-management-library-nvml)
というAPIが、より詳細なパフォーマンスカウンタには [PerfKit](https://developer.nvidia.com/nvidia-
perfkit) というAPIが使えそうに見えました。

GUIベースのプロファイラだと NSight や VisualProfiler といったツールがあるとか。


CC BY-SA 3.0
2016-01-18T09:38:16.260
21032
2016-01-18T09:38:16.260
8000
20131
answer