- 締切済み
ATLASインストール
数値計算に使うATLASについての質問です。前回質問させていただいた内容と異なります(前回は詳細を書かず、すいません) ATLAS3.8.2をインストールしようとしていますが、configureで必要とするflagの設定がうまくいきません。おそらくそれが原因でエラーが出るのだと思います。 インストール先のサーバーはaltix4700を使っており、fortranのコンパイルにはifortを使っています。今試しているflagは次のものです。 ../configure --prefix=./ATLAS -Fa alg -fPIC -b 64 エラー文は次のようになってます。 make: `xconfig' is up to date. ./xconfig -d s /home/h0730040/ATLAS/Linux_IA64Itan2/../ -d b /home/h0730040/ATLAS/Linux_IA64Itan2 -Fa alg -fPIC -b 64 atlconf_misc.o(.text+0x2ad2): In function `CmndResults': /home/h0730040/ATLAS/CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp' OS configured as Linux (1) atlconf_misc.o(.text+0x2ad2): In function `CmndResults': /home/h0730040/ATLAS/CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp' make[1]: *** [atlas_run] Error 1 make: *** [IRun_asm] Error 2 Bad ASM value=0, ierr=1, ln2='' Assembly configured as (0) atlconf_misc.o(.text+0x2ad2): In function `CmndResults': /home/h0730040/ATLAS/CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp' Bad VECFLAG value=0, ierr=0, ln2='VECFLAG=0 ' Vector ISA Extension configured as (0,0) atlconf_misc.o(.text+0x2ad2): In function `CmndResults': /home/h0730040/ATLAS/CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp' /home/h0730040/ATLAS/CONFIG/src/backend/cpuid.S: Assembler messages: /home/h0730040/ATLAS/CONFIG/src/backend/cpuid.S:30: Error: Unknown opcode `subl $8,%esp' 以下エラーの羅列 warningについては無視すればいいと記述がありましたが、エラーの対処法がわかりません。ATLASをインストールしたことがある方、何か思いついたことがあれば助けてください
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nineexit
- ベストアンサー率100% (8/8)
configureがうまくいっていれば、ATLASはBLASに比べてかなり高速に動くと思います。 MKLを試されてはいかがでしょうか? あまりお役に立てず申し訳ありません。
- nineexit
- ベストアンサー率100% (8/8)
回答番号:No.2です。 簡単なプログラムを作成し、比較してみました。 私の環境ではMKL > ATLAS >> BLAS でした。 > ifort matmat.f90 /usr/local/lib/LAPACK3/blas.a && ./a.out && ./a.out 1.21207600000000 1.18807400000000 > ifort matmat.f90 -L/usr/local/atlas/lib/ -lf77blas -latlas && ./a.out && ./a.out 0.200013000000000 0.196012000000000 > ifort matmat.f90 -lmkl -lmkl_em64t -lguide && ./a.out && ./a.out 0.184012000000000 0.160010000000000 以下、プログラム program matmat implicit none real(8),dimension(:,:),allocatable::a,b,c real(8) t1,t2 integer n call system_clock(count=n) call random_seed(put=(/n/)) n=1000 allocate(a(n,n),b(n,n),c(n,n)) call random_number(a) call random_number(b) c(:,:)=0.d0 call cpu_time(t1) call dgemm('N','N',n,n,n,1.d0,a,n,b,n,1.d0,c,n) call cpu_time(t2) write(*,*) t2-t1 end program matmat
- nineexit
- ベストアンサー率100% (8/8)
最近core2を積んだubuntuにATLASをインストールしました。 お役に立てるかどうか分かりませんが…。 私のインストールメモによるとやったのは次のコマンドだけです。 > tar xzvf atlas3.8.2.tar.gz > cd ATLAS > mkdir ATLAS_Linux_intel64 > cd ATLAS_Linux_intel64 > sudo cpufreq-selector -g performance > ../configure -C if ifort -F if '-O2 -fPIC' --with-netlib-lapack=/usr/local/lib/LAPACK3/lapack.a > make 気になったところは、 ・cpufreq-selector -g performance をやっているか ・-fPIC の前に何か必要では? といったところでしょうか。 ちなみに私はATLASを入れましたが、MKLを愛用しています。
お礼
ありがとうございます。 ATLASをいれた際にはどの程度速くなるのでしょうか?例えば行列同士の掛け算を行った時、BLASのルーチンと自分で作ったプログラムは同程度の速さまで速くなりますか?
- Tacosan
- ベストアンサー率23% (3656/15482)
う~んと, 前に別のシステムでインストールしようとしたとか, そういうことはないですか? 最後のエラーに出てくる「subl $8, %esp」ってあたりは, IA-32 なシステムで処理しようとした残骸のようにも見えますが.... Itanium2 なシステムでインストールした経験はないので, 完全にあてずっぽ.
補足
回答ありがとうございます. 別のシステムというか,エラー→フォルダ削除→解凍→configureを繰り返してますので,その影響か・・・ ちょっと調べてみます
お礼
ありがとうございます. 結局3.8verはインストールがうまくいかず,3.6を導入しました.しかし,成果が得られず・・・何度も質問して失礼ですが,ATLASによる高速化が得られない原因は何かわかりませんか? BLAS,LAPACKのルーチンは使えたため,パスは正しくとおってると思います.