データ解析ツールoctaveを語ろう Part 2
■ このスレッドは過去ログ倉庫に格納されています
0039名無しさん@お腹いっぱい。
2010/04/06(火) 20:05:32前のスレ(http://2chsearch.jp/unix/1086016412/?first=1)の969-970で
ttp://machnum.net/base/index.php/articles-computational-physics/37-computational-physics/47-assembler-code-and-mingw
ここを見ながら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近くの性能が出るかもしれません。
■ このスレッドは過去ログ倉庫に格納されています