AIチャットサービスに訊いた事を参考にして処理時間の検討を
以下にメモしておく。
1.行列積計算時間
下図のように28×28の画素サイズの行列計算積時間はCPUが6msec(NumPy Time)、
GPUが1msec(行列計算時間)でGPUの方が6倍早い。
2.学習時間
MNISTの学習を1回と5回した時の処理時間と配分を計算した。
1回ならa+b 、5回ならa+5bとして計算したものが下図である。
CPUは初期(オーバーヘッド)時間がほぼ0に対して、GPUは小さいが約2秒かかる。
繰返し時間で1回あたり約14秒の差がある。
その理由は、行列積計算時間以外の処理になるはず。
GPU版でも大雑把には下記の4段階になると思われるので、2)+4)の合計時間が14秒の
正体と推測する。
1)CPU処理時間(PyTorch命令実行など)
2)CPUからGPUに計算を命令
3)GPU処理時間(行列積計算)
4)GPUからCPUが計算結果を受領
<個人的な感想>
GPUを使う方が処理時間が短くなる場合の基準が見えにくい。
主に1データの量(画像なら1画像の画素サイズ)になるのだろうが、ChatGPTに訊いたら64画素らしい。(下図)