UbuntuでATLAS(3.9.51)とLAPACK(3.3.1)を入れる。
kkaneko.comを見ながら、新しいバージョンを入れてみたときのメモです。
方針
ATLAS3.9.51は私の環境ではだめでした。ATLASのインストールは問題がありませんが、LAPACKがctestのところでSegmentation faultで止まります。3.9.25は止まらないことを確認しています。
引き続きATLAS(1回目)→LAPACK→ATLAS(2回目)という手順で行います。LAPACK、ATLASともに、パッケージを使わずに自力で入れます。
sudo apt-get install gfortran # ATLAS(1回目) cd /tmp wget http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.9.25/atlas3.9.25.tar.bz2
tar -xvjof atlas3.9.25.tar.bz2 mv ATLAS ATLAS3.9.25 cd ATLAS3.9.25 mkdir B1 cd B1
sudo ../configure -t 2 -m 2660 -b 64 --prefix=/usr/local/atlas -Fa alg '-fopenmp -fPIC'
sudo make sudo make time cd lib #ATLASの共有ライブラリ(.so)の作成は自力で行う。←New! #以下のライブラリに対して、作業を繰り返し行う。 #libatlas.a #libcblas.a #libptcblas.a #liblapack.a #libf77blas.a #libptf77blas.a sudo rm -rf hoge sudo mkdir hoge cd hoge sudo ar x ../ライブラリ.a sudo gcc -shared -o ライブラリ.so *.o sudo cp ライブラリ.so ../ライブラリ.so cd .. # cd .. sudo rm -f /usr/local/atlas/lib/*.so sudo rm -f /usr/local/atlas/lib/*.a sudo make install #/etc/ld.so.confに、/usr/local/atlas/libをあらかじめ追加しておく。 sudo /sbin/ldconfig #確認 #自力で作った共有ライブラリではない場合、 #以下のコマンドを使ってもリンクが見えない。 ldconfig -p|grep atlas
# LAPACK cd /tmp wget http://www.netlib.org/lapack/lapack-3.3.1.tgz tar -xvzof lapack-3.3.1.tgz cd /tmp/lapack-3.3.1 cp make.inc.example make.inc sudo make cleanall
sudo make LOADER="gfortran -g -fPIC" FORTRAN="gfortran -fimplicit-none -g -m64 -fPIC" OPTS="-mieee-fp -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -funroll-all-loops -O3 -fno-tree-vectorize -fexceptions -march=native" LOADOPTS="-L/usr/local/atlas/lib" BLASLIB="-lptf77blas -latlas -lgfortran -lgomp -lpthread -ldl"
sudo cp lapack_LINUX.a /usr/local/lib/liblapack_LINUX.a sudo cp tmglib_LINUX.a /usr/local/lib/libtmglib_LINUX.a sudo chmod 755 /usr/local/lib/liblapack_LINUX.a sudo chmod 755 /usr/local/lib/libtmglib_LINUX.a cd /tmp/lapack-3.3.1 sudo rm -rf hoge sudo mkdir hoge cd hoge sudo ar x ../lapack_LINUX.a sudo gcc -shared -o lapack_LINUX.so *.o sudo cp lapack_LINUX.so /usr/local/lib/liblapack_LINUX.so cd /tmp/lapack-3.3.1 sudo rm -rf hoge sudo mkdir hoge cd hoge sudo ar x ../tmglib_LINUX.a sudo gcc -shared -o tmglib_LINUX.so *.o sudo cp tmglib_LINUX.so /usr/local/lib/libtmglib_LINUX.so
# ATLAS(2回目) cd /tmp cd ATLAS3.9.25 mkdir B2 cd B2
#「-Ss flapack /tmp/lapack-3.3.1/SRC -Si latune 1」を加える。 sudo ../configure -t 2 -m 2660 -b 64 --prefix=/usr/local/atlas -Fa alg '-fopenmp -fPIC' -Ss flapack /tmp/lapack-3.3.1/SRC -Si latune 1
#1回目と全く同じ。 sudo make sudo make time cd lib #ATLASの共有ライブラリ(.so)の作成は自力で行う。←New! #以下のライブラリに対して、作業を繰り返し行う。 #libatlas.a #libcblas.a #libptcblas.a #liblapack.a #libf77blas.a #libptf77blas.a sudo rm -rf hoge sudo mkdir hoge cd hoge sudo ar x ../ライブラリ.a sudo gcc -shared -o ライブラリ.so *.o sudo cp ライブラリ.so ../ライブラリ.so cd .. # cd .. sudo rm -f /usr/local/atlas/lib/*.so sudo rm -f /usr/local/atlas/lib/*.a sudo make install