- 493 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/26(日) 00:45:01.58 .net]
- パソコンを新しくしたのでWindows8.1になったのも含めて
OctaveやらScilanbやらインストールしてたのだけど Core i5-5200U 2.2GHzのマシンで Octave Windows VS2010 ver 3.6.4 で n=4096;A=rand(n,n);B=rand(n,n);tic;C=A*B;t=toc,GFLOPS=2*n^3/t*1e-9 をやると t = 9.2240 GFLOPS = 14.900 だったのに、Scilab-5.5.2 64bitで stacksize('max') としてから n=4096;A=rand(n,n);B=rand(n,n);tic();C=A*B;t=toc,GFLOPS=2*n^3/t*1e-9 をやると、 t = 4.021 GFLOPS = 34.180292 になった。 実はScilabには Intel MKLが入っていて、Octaveに入っているOpenBLASではSSE3までしか対応していないのに対して MKLではAVX2に対応してるので、1クロックの倍精度実数の演算回数がSSE3の2回から4回に増えるためだと思う。 理論演算速度は2.2GHzの場合、SSE2で17.6GFLOPS、AVX2で35.2GFLOPSで、理論値通りの性能がでているようだ。
|

|