10/04/06 20:05:32 .net
mingwの3.2.4を入れて気が付いたのが、binフォルダのblas.dll
前のスレ(URLリンク(2chsearch.jp))の969-970で
URLリンク(machnum.net)
ここを見ながらmingw上でgotoblasをコンパイルしてblasのdllを作りました。
またcygwin上でもblasのdllを作りました。
そのblas.dllを、3.2.4デフォルトのblas.dllと入れ替えて動くか試すと、なんと!動きました。
環境変数に
GOTO_NUM_THREADS
があり、2がセットしてあるのを確認した上で
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
これでベンチをとってみると
Octave 3.2.4 default blas.dll
t = 4.2031
MFLOPS = 3806.7
GotoBLAS mingw
t = 2.1719
MFLOPS = 7366.9
GotoBLAS cygwin
t = 1.2344
MFLOPS = 1.2962e+004
PCは2.1GHzのCore2Duoで理論演算能力は2.1*4*2=16.8GFLOPSなので、cygwin版のGotoBlasと入れ替えれば近い線までいきそう。
mingwの場合はマルチコア未対応なのでしょう。
最近発売された6CoreのCore-i7を使えば、3.3*4*6=79.2GFLOPS近くの性能が出るかもしれません。