Unity 勉強メモ

ゲームエンジンのUnityを勉強するブログです。

C言語でオレオレ行列積ルーチンを作るプロジェクト (その11)

オレオレ行列積。まだ諦めていませんよ。

プログラム

プログラム全体は以下のGitHubリポジトリにあります。 今回利用するプログラムは、 main.cmy_dgemm11.cです。

コンパイル

$ gcc -static -fopenmp -mavx -O3 main.c my_dgemm11.c 
  -I/opt/OpenBLAS/include -L/opt/OpenBLAS/lib -lopenblas -lpthread -lrt

実行結果

プログラムを5回実行した結果を以下に示します。

回数
1回目 2.100111 (中央値)
2回目 2.048678
3回目 2.105635
4回目 2.110453
5回目 2.078582

速度の比較

BLAS 比率
OpenBLAS 1.475622 100%
Intel MKL 1.574675 93.7%
my_dgemm11 2.100111 70.3%
my_dgemm10 2.138090 69.0%
ATLAS 5.104218 28.9%

まとめ

祝!70%到達。