精度保証数値計算 レポート

600p013-2 河原 淳

00/12/31

演習5-2   ScilabのATLAS(or最適化)BLASによる高速化を行え。


実行環境はTurbo Linux Workstation6.0(以下TLW6.0)、PentiumIII 800MHzです。

TLW6.0にはfortran compilerが標準ではインストールされていないので、 まずegcs-1.1.2-30をインストールした。 Pentium IIIのBLASはなさそうだったので、ATLASで高速化を試みた。

ATLASのコンパイルは、20分ほどで終わった。そして、できあがったファイル(libatlas.a,libcblas.a,libf77blas.a,liblapack.a,libtstatlas.a)を/scilab-2.5/libs/にコピーし、MakeFile.OBJのLIBRSCI = の下に、
$(SCIDIR)/libs/liblapack.a
$(SCIDIR)/libs/libcblas.a
$(SCIDIR)/libs/libatlas.a
$(SCIDIR)/libs/libf77blas.a
$(SCIDIR)/libs/libtstatlas.a

を書き加えて、Scilabを再構築した。 インストールはすべて無事に終了した。 しかし、実行してみると、全然高速化されていなかった。 その後も、いろいろと試行錯誤し、格闘してみたが、どうしても高速化されなかった。 一応、デフォルトで計算を行った場合の計算時間を記載しておく。

-->a=rand(1000,1000);b=rand(1000,1000);
 
-->timer();x=a*b;timer()
 ans  =
 
    32.33  
 
-->timer();[L,U,P]=lu(a);timer()
 ans  =
 
    12.53  
 
-->timer();[Q,R,P]=qr(a);timer()
 ans  =
 
    25.76  
 
-->a=rand(1000,1000);b=rand(1000,1);   
 
-->timer();x=a\b;timer()            
 ans  =
 
    11.81  




File translated from TEX by TTH, version 2.80.
On 2 Jan 2001, 11:13.

©Waseda University

URI: http://www.oishi.info.waseda.ac.jp/~oishi/FAQ/kawa.html