NVMLの使い方

CUDA Advent Calendar 2019 11日目の記事です.

NVMLって何?

GPUの温度を測ってプログラム中で使うたくなることがたまにあるんですけど,そんなときに使えるのがNVML(NVIDIA Management Library)です.

nvidia-smi -a
で取得できる情報をプログラム中で取得するAPIのようなものです.

簡単なサンプル

よくある感じで始めにnvmlInit関数で初期化します.
次にGPU IDを指定してhandlerを取得します.
あとはClockやFANの回転率などを適当な関数で取得することができます.
関数一覧は NVML API Reference Guide に書かれています.

コンパイルする際は-lnvidia-mlを指定してリンクします.

注意点

NVMLはコンシューマ向けの一部のGPUでは一部または全部が使えません.

カテゴリー:CUDA
記事作成日:2019-12-11