#きっかけ
きっかけは二つありまして
1.KerasでImageDataGeneratorを使い大量の画像で学習したり
batchサイズを大きくすると、GPUのメモリが不足して(?)計算が止まる事がある
2.Tensor coreを使うためにFP16で計算させたいが
GPUにFP16でデータ渡ってるの?
そもそもTensor core動いてるの?
というわけでGPUのログを取れないかと調べておりまして
@kuroyagi様の記事を参考に動かしてみました
https://qiita.com/kuroyagi/items/e70c55cbc88fc0ed0220
@kuroyagi様の記事は**「Jupyter」を使用していましたが
この記事では「spyder」**を使用しています
結論としてはログは取れるようになりましたが
ログの中身の解説は全くありません()
#確認環境
OS:Windows10Home
cuda:9.0.176
CuDNN:v7.3
python:3.6.6
spyder:3.3.1
GPU:GTX1070
#操作手順
下記手順で作業します
1.Anaconda Promptを起動
⇒省略
2.仮想環境を切り替え
⇒省略
3.「nvprof」でログ取得開始
通常のspyderの起動と異なり「nvprof」からspyderを指示して起動します
いろいろオプションをつけて最後にspyderを表記
(正直詳細は理解できていません・・・)
nvprof -o profile%p.nvvp --profile-child-processes spyder
4.pythonスクリプト実行
上記を実行すると普通にspyderが起動するので、ログを取りたいスクリプトを開き実行します。
スクリプトが走り出すと、先ほどのAnaconda Promptに下記の表示が出ます
なんかWanningが出ていますが気にしない(笑
解析が終わりましたらspyderを終了させます
⇒普通に右上の「x」です
終了させると、ログを書き込んだ表示が出ます(下記参照)
以上でログ取得は完了です
5.「nvvp」で表示
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
に**「nvvp.bat」**というファイルがあるので起動します
先ほど作成された「.nvvp」ファイルを開くと下記のような表示が出ます
拡大
うーむ、まったくわからない・・・
とりあえず、中身の読み方は、他の方の記事を参考にしてください
わかり次第またアップいたします