Yamamoto's Laboratory
共同研究
KEK
PHASE
研究内容 PHASE

第一原理電子状態計算ソフトウェアPHASE

第一原理電子状態計算ソフトウェア「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' に入ります

ページ作成情報

参考資料

  1. ここでのインストールは,「第一原理電子状態計算ソフトウェア PHASE/0 2014 ユーザマニュアル」を参考にしました.
  2. LAPACK と BLAS のインストールは,adragoonaの日記BLASとLAPACKとIpOptのインストールを参考にしました.
  3. bash での実行に関しては,「マルチフィールド設計 第一原理計算」のページを参考しました.

更新履歴

2014年07月13日 ページの新規作成


no counter