共同研究
PHASE
|
準備私の環境(OS: Ubuntu 12.04,CPU: AMD Athlon(tm) II X2 240) にインストールしたときの手順を示します.PHASE のユーザマニュアルを見ると,いろいろなソフトウェアーが必要です.以下,数学パッケージとFORTRANのインストールに分けて説明します. 数学パッケージ等のインストール何が必要か?PHASE を動かすためには,さまざまなパッケージやライブラリーが必要です.必要なソフトウェアーは,マニュアルの「PHASE の計算機環境」に書かれています. Linux で GNU Complier(gfrortran, gcc)を使う場合,LAPACK や BLAS,ScaLAPACK が必要です.LAPACKは有名な線形代数計算のライブラリー,BLAS はベクトルと行列の操作をするライブラリーです.ScaLAPACK には,分散メモリ型MIMD並列コンピューター用に再設計された LAPACKのサブセットがあります. Linux で Intel FORTRAN を使う場合,MKL あるいは ACML が必要です.MKL は,Intel の演算ルーチンライブラリーです.ACML は,AMDが作成した数値計算のための数値演算ルーチンです. また,OpenMPI のような Message Passing Interface(MPI)もあると良いでしょう.
インストールOpenMPI は入っていなかったので,以下のコマンドでインストールしました. $ sudo apt-get install openmpi-bin openmpi-dev 次に,LAPACK と BLAS をインストールします.LAPACK ― Linear Algebra PACKageのページから最新バージョン(ver 3.5.0)を適当な場所にダウンロードします.ダウンロードしたファイルは,以下のコマンドで解凍します. $ tar zxvf lapack-3.5.0.tgz できあがったディレクトリーに移動し,そこにあるファイル「make.inc.example」を「make.inc」にします. $ cd lapack-3.5.0 $ mv make.inc.example make.inc blaslib と lapacklib を make します. $ make blaslib $ make lapacklib できあがった librefblas.a と liblapack.a を適当なディレクトリーにコピーします. $ sudo cp librefblas.a /usr/lib/libblas.a $ sudo cp liblapack.a /usr/lib/liblapack.a 以上で,準備完了です. インストール中に,「/usr/include/features.h:324:26: 致命的エラー: bits/predefs.h: そのようなファイルやディレクトリはありません」というようなエラーが出るときには,libc6-dev-i386 をインストールすると解決します. $ sudo apt-get install gcc-multilib FORTRANコンパイラーコンパイラーは,バージョン 4.1 以上の GNU Compiler (gfrotran, gcc),あるいは Intel FORTRAN が必要です.私の場合(Ubuntu 12.04),gcc はバージョン 4.6.3 だったので,そのままインストールできるはずです.そのため,最初の PHASE のインストールは gfortran 環境で実施しました.しかし,途中でインストールに失敗しました. そこで,Intel FORTRAN 環境で PHASE をインストールすることにしました. PHASE のインストールファイルの解凍とシェルスクリプトの書き換えNIMS / Nano-simulation Softwareのページから,Downloadsの PHASE システム ダウンロードをクリックして,いろいろな手続きをしてフルパッケージをダウンロードします.ダウンロードしたファイルを解凍します. $ tar zxf phase0_2014.01.tar.gz Ubuntuの場合,解凍されたファイルそのままの状態ではインストールできません.インストール用のシェルスクリプト(install.sh, configure)の書き換えが必要です.Ubuntu の /bin/sh は dash(Debian Almquist shell)にリンクが張られています.このシェルスクリプトは bash (bourne-again shell)で実行する必要があります.そこで,以下の通り書き換えます.まずは,インストール用のシェルスクリプトのあるディレクトリーに移動します. $ cd phase0_2014.01 そして,install.shの 1 行目と 32 行目を以下の通り,書き換えます. #!/bin/bash 1行目: sh → bash に # PHASE installer # Copyright (C) 2007 Takenori YAMAMOTO echo " === PHASE installer ===" while [ 0 -eq 0 ] ⋮ cd src_phase bash configure 32行目: sh → bash に if [ ${?} -ne 0 ]; then exit 1 fi break ⋮ 次に,configure のあるディレクトリーに移動します. $ cd src_phase そして,configureの 1 行目を以下の通り,書き換えます. #!/bin/bash 1行目: sh → bash に # configure # Makefile generator for PHASE # Copyright (C) 2007 Takenori YAMAMOTO echo 'GenMake ver 1200' ⋮ インストールシェルスクリプトの実行ディレクトリー phase0_2014.01に戻り,インストールシェルスクリプト「install.sh」を実行します.
$ ./install.sh
=== PHASE installer ===
Do you want to install PHASE? (yes/no) [yes]
GenMake ver 1200
Supported platforms
0) GNU Linux (IA32)
1) GNU Linux (EM64T/AMD64)
2) NEC SX Series
x) Exit
Enter number of your platform. [0]
1
Selected platform: GNU Linux (EM64T/AMD64)
Supported compilers
0) GNU compiler collection (gfortran)
1) Intel Fortran compiler
x) Exit
Enter number of a desired compiler. [0]
0
Selected compiler: GNU compiler collection (gfortran)
Supported programming-models
0) Serial
1) MPI parallel
x) Exit
Enter number of a desired programming-model. [0]
1
Selected programming-model: MPI parallel
Selected MPI library: MPICH1/MPICH2/Open MPI
Supported BLAS/LAPACK
0) Netlib BLAS/LAPACK
1) Intel Math Kernel Library (MKL)
x) Exit
Enter number of a desired library. [0]
0
Selected BLAS/LAPACK: Netlib BLAS/LAPACK
Supported FFT libraries
0) Built-in FFT subroutnes
1) FFTW3 library
x) Exit
Enter number of a desired library. [0]
0
Selected FFT library: Built-in FFT subroutnes
Do you want to edit the makefile that has been generated? (yes/no/exit) [no]
Do you want to make PHASE now? (yes/no) [yes]
cd LAPACK; make F77="mpif90 -m64" F77FLAGS="-O2 -ffixed-form" AR="ar -vq"
make[1]: ディレクトリ `/home/yamamoto/install/phase/phase0_2014.01/src_phase/LAPACK' に入ります
ページ作成情報参考資料
更新履歴
|