- 39 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/06(火) 20:05:32 ]
- mingwの3.2.4を入れて気が付いたのが、binフォルダのblas.dll
前のスレ(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近くの性能が出るかもしれません。
|

|