PyTorch の fp32, fp64 性能の謎

意外に遅い? RTX4090 の fp64 性能 – ソフトウェア技術者(ときどき科学)のつぶやき (minosys.com)において、FP64 性能の話題を取り上げましたが、FP32 に変更しても計算時間が変わりませんでした。

minoru@mino11:~$ python3 cavity2d_torch32.py
start calculation
end calculation
69.0999818
mean solve_p:  0.0013539623714285713 , total: 47.38868299999999
mean evolve_uv:  0.0006386576285714285 , total: 22.353016999999998
minoru@mino11:~$ python3 cavity2d_torch64.py
start calculation
end calculation
70.0399457
mean solve_p:  0.0013612587142857143 , total: 47.644055
mean evolve_uv:  0.0006423244571428571 , total: 22.481355999999998
t
minoru@mino11:~$ python3 cavity2d_cpu.py
start calculation
end calculation
10.0454091
mean solve_p:  0.00019398897142857137 , total: 6.7896139999999985
mean evolve_uv:  0.00010279248571428571 , total: 3.597737

ということは、計算に時間がかかっているのではなく、メモリ移動に時間がかかっているということになります。特に変数 u, v はループがなく、直線的なコーディングになりますが、7倍の時間がかかっているので、メモリ移動がインパクトを与えていると考えてよいと思います。

時間があれば OpenCV の CUDA 実装と比較してみたいと思います。

投稿者について
みのしす

小さいときは科学者になろうとしたのに、その時にたまたま身に着けたプログラミングで未だに飯を食っているしがないおじさんです。(年齢的にはもうすぐおじいさん)

1 throughts on "PyTorch の fp32, fp64 性能の謎"

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です