目次

Ubuntu Serverによる計算サーバ

Ubuntu Server 12.04.3 のインストール

Ubuntu Serverのインストールを行っておく。

必要なソフトウェアのインストール

ubuntuサーバをインストールしただけの状態では

$ cc
プログラム 'cc' は以下のパッケージで見つかりました:
 * gcc
 * clang
 * pentium-builder
 * tcc
次の操作を試してください: sudo apt-get install <選択したパッケージ>
$ make
プログラム 'make' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install make
$ gfortran
プログラム 'gfortran' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install gfortran

のようにFORTRANはおろかcのコンパイラもmakeすらもインストールされていない。そこでパッケージ管理ツールであるapt-getを使ってこれらをインストールしておく。

先ずはパッケージリストをアップデートする。

$ sudo apt-get update
ヒット http://jp.archive.ubuntu.com precise Release.gpg
...
ヒット http://security.ubuntu.com precise-security/universe Translation-en
パッケージリストを読み込んでいます... 完了
$ 
一先ずGNU make, GNU c コンパイラ, GNU fortran コンパイラをインストールしておこう。
$ sudo apt-get install make gcc gfortran
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
...
この操作後に追加で 71.7 MB のディスク容量が消費されます。
続行しますか [Y/n]? 
取得:1 ...
...
$

rpmやyumなどのapt-get以外のパッケージ管理システムやcvsやsvnなどのバージョン管理システムもあると便利である。ここではase3とdacapo.runのインストールのために必要になるのでrpmとsvn(subversion)をインストールしておく。

$ sudo apt-get install rpm subversion
...
$

ase3(Campos Atomic Simulation Environment version 3)のインストールに最低限必要なのは

である。GUIではなくCUIベースの計算サーバをリモートで動かし、計算結果の可視化等はローカルのMac OSX上で行うことになるのでグラフィック関係の追加機能は省略する。 これらをapt-getを使ってインストールする。

$ sudo apt-get install python-numpy python-scipy python-netcdf
...
$

Dacapoのビルドに必要なのは、gfortranを除くと

である。

これらをapt-getを使ってインストールする。

$ sudo apt-get install netcdf-dev
$ sudo apt-get install fftw-dev
$ sudo apt-get install liblapack-dev
...
$

Dacapoのインストール

dacapo.run(偽ポテンシャルベースの第一原理計算エンジン)にはrpm形式で配布されているバイナリを試験的に導入する。(最終的にはソースからコンパイルし直して現環境で最適なロードモジュールを作成する)

$ sudo rpm -ihv --nodeps Dacapo-2.7.7-0.1.i386.rpm 
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
...
$

これにより

$ rpm -qlp Dacapo-2.7.7-0.1.i386.rpm 
/etc/profile.d/dacapo.csh
/etc/profile.d/dacapo.sh
/usr/bin/dacapo.run
/usr/bin/dacapo_2.7.7.run
/usr/bin/dacapo_2.7.7_mpi.run
/usr/share/dacapo/psp
/usr/share/dacapo/psp/Al_tm_gga.pseudo
 
...
/usr/share/dacapo/psp/zn_us_gga_7.3.4.pseudo
$

のようなファイル群が上記のディレクトリに展開される。 /etc/profile.d/に下記の環境設定ファイルが作成されているので次回ログイン時からは環境変数が有効になる。

$ cat /etc/profile.d/dacapo.sh
#
# POSIX shell script to set environment for Dacapo
#
# Dacapo pseudopotentials database
DACAPOPATH=/usr/share/dacapo/psp
if [ -d $DACAPOPATH ]
then
	export DACAPOPATH
else
	# No dacapo
	unset DACAPOPATH
fi
$

このまま続けるときは

$ source /etc/profile.d/dacapo.sh
$

のようにして環境変数を有効にしておくこと。

ase3/jacapoのインストール

svnを使ってase3のファイルをチェックアウト(ダウンロード)する。

$ export ASE_TAGS=https://svn.fysik.dtu.dk/projects/ase/tags/
$ svn checkout https://svn.fysik.dtu.dk/projects/ase/trunk ase
A    ase/tools
A    ase/tools/ase-gui.bat
A    ase/tools/ase-run.bat
...
A    ase/MANIFEST.in
A    ase/README.txt
 U   ase
リビジョン 3429 をチェックアウトしました。
$ 

aseのインストールを行う。(ここでは作業を$HOMEで行っていると仮定している)

$ export PYTHONPATH=$HOME/ase:$PYTHONPATH
$ export PATH=$HOME/ase/tools:$PATH
$ cd $HOME/ase
$ sudo python setup.py install
...
$

インストールが終わったらaseのテストを行う。テストにより大量のファイルが作成されるため適当な作業用ディレクトリを作ってテストはその作業用ディレクトリで行う。

$ cd
$ mkdir work
$ cd work
$ python -c "from ase.test import test; test(verbosity=2, calculators=['jacapo'], display=False)" 2>&1 | tee testase.log
python 2.7.3 GCC 4.6.3 64bit ELF on Linux x86_64 Ubuntu 12.04 precise
Ag-Cu100.py (ScriptTestCase) ... ok
CO2_Au111.py (ScriptTestCase) ... ok
COCu111_2.py (ScriptTestCase) ... ok
...
gromacs/test_gromacs.py (ScriptTestCase) ... skipped ok
jacapo/jacapo.py (ScriptTestCase) ... ok
mopac/mopac_cmdline.py (ScriptTestCase) ... skipped ok
...
COCu111.py (ScriptTestCase) ... ok
 
----------------------------------------------------------------------
Ran 94 tests in 36.606s
 
OK
$

ここではより詳しい情報を表示させるためにverbosity=2を、テストにjacapoを含めるためにcalculators=['jacapo']を、画像関係のテストをスキップするためにdisplay=Falseを、それぞれ指定している。

ここでerrorもしくはfailureと表示されたテストスクリプトがあった場合はそのテストスクリプトを詳細に調べ、必要なパッケージの再インストール等を行う。全ての試験がokもしくはskipped okになればよい。後はJacapoのチュートリアルに従って計算を行うだけである。

トップページへもどる