Linuxシステムでのプログラミング環境の構築
1.Linuxのインストール(ディストリビューションの一覧)
- gcc, g77, mule (or emacs) については標準でインストールされることが多い。もしされていないようなら追加する。
- gnuplot は標準ではインストールされないことが多いので、インストール時に明示的に含めるか、あとで追加する。
後述の数値計算パッケージ(行列計算などに便利)を使用しないならこれだけでプログラミングを開始できる。
Fortranサンプル(area.f)
> g77 -o area area.f (コンパイル)
> ./area (実行)
input radius
1.0
radius r = 1.00000 area = 3.1415920
STOP area statement executedC言語サンプル(area.c)
> gcc -o area area.c -lm (コンパイル)
> ./area (実行)
input radius
1.0
radius r = 1.000000, area a = 3.141592
2.数値演算ライブラリLAPACKのインストール(LAPACK公式マニュアル)
以下の中から好きな方法を選んでください。下に行くほど労力を要します。(gccがインストールされていることを仮定しています)
- 最もお手軽な方法
http://stat.scphys.kyoto-u.ac.jp/~ryoichi/CP/lapack/lapack.tar.gz にアクセスし、lapack.tar.gzを任意のディレクトリ(例えば ~/lapack)に保存する。
> mkdir lapack
> cd lapack
> netscape & (netscapeから上のファイルにアクセスし、保存)
保存したディレクトリで以下を実行してライブラリを解凍・インストールし、不要なファイルを削除する。
> tar xvfz lapack.tar.gz
> su
Password:
# mv *.a /usr/lib/.
# exit
> rm lapack.tar.gz
サンプルプログラム[Fortran, C]でテストをする。
> gcc sample.c -O -llapack -lblas -lm -lg2c
> ./a.out
....
> g77 sample.f -O -llapack -lblas
> ./a.out
....
- 多少こだわりたい人
Linuxでは各ベンダーからBLAS/LAPACKのrpmファイルが 供給されていること が多いので、それをインストールしてもよい。例えば該当rpmファイルのあるディレクトリで以下のようにする。
> rpm -ivh blas-3.0-14.i386.rpm
> rpm -ivh lapack-3.0-14.i386.rpm
> gcc linear.c -O -llapack -lblas -lm -lg2c
> ./a.out
....
> g77 linear.f -O -llapack -lblas
> ./a.out
....
- ライブラリのコンパイルを自分でやりたい人
Netlibよりソースファイル(atlas3.*.*.tgz, lapack.tzg)をダウンロード・解凍する。[ATLAS/LAPACK]
LAPACKのインストール(以下、ソースファイルを各自のホームディレクトリで解凍したものと仮定する。)
> cd LAPACK
> cp INSTALL/make.inc.LINUX ./make.inc
> make lapacklib
> su
Password:
# mv lapack_LINUX.a /usr/lib/liblapack.a
# exit
ATLASのインストール
> cd ATLAS
> make config
.... (各種質問に答える。ほとんどデフォルトでよい。)
....
Configuration completed successfully. You may want to examine the make include
file (Make.Linux_P4SSE2) for accuracy before starting the install with the command:
make install arch=Linux_P4SSE2 (←ここに出るコマンドを次に実行する)
....
> make install arch=Linux_P4SSE (Linux_P4SSEの部分は適宜変更すること)
....
> su
Password:
# mv lib/Linux_P4SSE/*.a /usr/lib/.
# exit
サンプルプログラム[Fortran, C]でテストをする。
> gcc sample.c -llapack -lf77blas -latlas -lg2c -lm
> ./a.out
....
> g77 sample.f -llapack -lf77blas -latlas
> ./a.out
....
3.Intelのコンパイラ・数値演算ライブラリをインストールすればPentiumプロセッサーで最高の性能が得られる(オプション)
Intelからよりパフォーマンスの優れたf90, c++コンパイラ(非商用に限りLinux版はフリー、Windows版は非商用でも有料)がリリースされており
http://www.intel.com/software/products/からダウンロードして利用することができる(要登録)。
さらに同じ場所にある「パフォーマンスライブラリの数値演算ライブラリ(Intel Math Kernel Library)」にはPentium用に最適化されたBLASとLAPACKが含まれ ている。(Linux用、Windows用があり、どちらも研究用途でのダウンロードが認められている、要登録)
インストール後、以下のコマンドでコンパイル
Fortran90
> ifc sample.f -O3 -L/opt/intel/mkl/lib/32/ -lmkl_lapack -lmkl_p4 -lpthread
C, C++
> icc sample.c -O3 -L/opt/intel/mkl/lib/32/ -lmkl_lapack -lmkl_p4 -lpthread
-lmkl_p4 (Pentium4)
-lmkl_p3 (Pentium3)
-lmkl_def (それ以外)