12. Apr. 2006 (Wed)

CLAPACK+ATLASインストールメモ

めもめも


(…ここから後半)

▼はい準備。
まずgccとg77をapt-getでインストール。ひょっとしたらf2cもいるかも。
ターゲットによってはgccの2.9.xを要求されるかもしれないのでその場合はそっちも入れて、

# update-alternative --config gcc
# update-alternative --config g77

でしかるべく選択。

▼次ソース取得。
総本山からclapack.tgzatlas3.6.0.tgzを取得。

▼はい次ATLASのビルド

# tar xvfz atlas3.6.0.tgz
# cd ATLAS
# make ←この時点で設定するのはCPUタイプぐらいで、あとはデフォルトでOK
# make install arch=Linux_P4SSE2_4←ここんとこは前記makeの最後に表示されるものに従う
# cd ..

▼次CLAPACKのビルド
# tar xvfz clapack.tgz
# cd CLAPACK
# cp ../ATLAS/lib/Linux_P4SSE2_4/lib*.a ./ ←コピー元ディレクトリは先ほど生成したもの
# cp INSTALL/make.inc.LINUX ./make.inc ← コピー元は環境にあったものを選ぶ
# vi make.inc ← 下記のとおりBLASKLIBを変更
BLASLIB= ../../libcblaswr.a ../../libcblas.a ../../libatlas.a ←ATLASで作成したものを指定。二階層下からのパス。
# make f2clib
# make cblaswrap
# make lapacklib
これでmake.incのコピー元に対応した名称のライブラリファイル、lapack_LINUX.aができる。

▼パッケージのマージ
lapack_LINUX.aをliblapack.aに改名してATLASで作ったほうの内容をくっつけるのだ

# mv liblapack.a liblapack_ATLAS.a
# cp lapack_LINUX.a liblapack.a
# mkdir tmp
# cd tmp
# ar x ../liblapack_ATLAS.a
# ar r ../liblapack.a *.o
# cd ..
# rm -rf tmp

▼インストール
# mkdir /usr/local/lib/CLAPACK
# cp F2CLIBS/libI77.a /usr/local/lib/CLAPACK
# cp F2CLIBS/libF77.a /usr/local/lib/CLAPACK
# cp libatlas.a /usr/local/lib/CLAPACK
# cp libcblas.a /usr/local/lib/CLAPACK
# cp libcblaswr.a /usr/local/lib/CLAPACK
# cp liblapack.a /usr/local/lib/CLAPACK
# cp F2CLIBS/f2c.h /usr/local/include/CLAPACK

▼余談
gccのバージョン管理が必要ならCLAPACKディレクトリをgccのバージョンごとに作成し、

# update-alternatives --install /usr/local/lib/CLAPACK CLAPACK /usr/local/lib/CLAPACK_gcc3.2 32
# update-alternatives --install /usr/local/lib/CLAPACK CLAPACK /usr/local/lib/CLAPACK_gcc2.9 29
てな感じでalternativesを仕込んでおく(/etc/alternatives/に反映)
そんで
# update-alternatives --config CLAPACK
とかやれば切り替えられるという仕組み。

_ Posted by AoVA at 2006年4月12日 23:55 _ [an error occurred while processing this directive]
[ひとこと]

Save?

Apple Store(Japan)