2022年1月1日土曜日

単精度浮動小数点での行列積の性能を評価してみた話

単精度浮動小数点での行列積の性能を評価する方法を調べた際のメモ。
ベンチマークにはHPL-AI使う方が良いかもしれない。

環境

PC:DELL Inspiron 16
CPU:11th Gen Intel® Core™ i7-11800H @ 2.30GHz × 16
GPU: NVIDIA GeForce RTX 3050 Laptop GPU/4GB/gen4?
Mem:16G
OS:Ubuntu 20.04LTS

評価方法

C=ABを計算する時間を計測する。 また、openblasによる計算結果との差がepsilon()以下であることも確認する。

リポジトリをクローンして、jupyter notebookをすべて実行すると結果が得られる。 gcc,cmake,make,openmp,openblas,cudaが必要。

結果

次のグラフの通り。
単純Cループと比較するとOpenBLASはやはりすごい。
行列サイズが大きくなってくるとcublasの効果が際立ってくる。


参考ページ

行列の積演算で openBLAS cuBLAS を体感する
cuBLAS と cuBLAS-XT の調査(その1)。行列の積演算にて
[VC++] OpenBLASを使ってみた