つづき
12.処理速度
12.1 CPUとGPU
10項までのパラメータとCNN構造で正解率0.8862を得た時の
処理時間は101.6秒で23stepであった。この時の環境では、
CPU(Core i5-9600K)とGPU(RTX2060)の両方を使っていた。
CPUだけで計算した時(*1)の処理時間を比べてみた。サンプルとして、
最初のstepの処理時間を測定した。約21.6倍の差が出た。
使用ハードウェア | CPUとGPU | CPUだけ |
処理時間(秒) | 5.1 | 110.2 |
CPU使用率(%) | 30 | 100 |
GPU使用率(%) | 6 | 1 |
例1)CPUとGPU
処理時間
CPUとGPUの負荷
例2)CPUだけ
処理時間
CPUとGPUの負荷
(*1)下記のコードでGPUがオフになった。
下記のWEBページにお世話になりました。ありがとうございます。
・Keras on jupyter notebook でGPUを使わない
12.2 テンソルコアの効果
残念ながら、テンソルコアの使用をオフする方法が分からなかったので、測定出来なかった。
NVIDIA Deep Leraning Frameworks Documentationの7.1.6によれば、デフォルトが
テンソルコア有効になっている。(自分の環境ではCUDNNをバックグラウンドで使っている。)
12.3 FP16とFP32の違い
NVIDIA Deep Leraning Frameworks Documentationの2.9.4にはFP32データの
場合には、FP16に変換してからテンソルコアを使うと書いてある。下図はその抜粋である。
1)FP16
2)FP32
しかし、10項までのパラメータとCNN構造で正解率0.8862を得た場合で比較したが、
FP16とFP32では処理時間が同じであった。
<個人的な感想>
テンソルコアの効果を調べたかったが、どのようなコード(命令文)をjupyter notebookから
入力すれば良いか分からなかった(WEBで色々探したが・・・)。これが残念である。