2007年7月21日土曜日

Gromacsのインストール

gromacsのパッケージをインストールする際にfftwのインストールが推奨されているけれども、MKLを使った方が無難かなと思ったので、その対処方法を記述します。
(To install GROMACS package, it is recommended with installing fftw package also. But I know MKL shows quite good performace and no trouble, I will write down here how I installed GROMACS with MKL)

最初に intel c complierとintel fortran compilerとMath kernel LibralyとMPICHがインストールされていて、pathがちゃんと設定されている必要がある。そしてコンパイラーの名前を設定してあげなければいけない。cshかtcshを使っているのなら以下のように設定すれば良い。.chsrcのなかに書いてもいいけど、コマンドで与えたほうがよいかな。
(First of all. the system should be installed of intel C compiler and intel fortran compiler , Math Kernel Librally and MPICH, and setting file (.cshrc or .tcshrc ) should be include the proper path of these packages. After that, the name of compiler should be declared like below in the case of CSH or TCSH enviroment. )


setenv FC ifort
setenv F77 ifort
setenv F90 ifort
setenv CC icc
setenv CXX icpc
setenv MPICC mpicc
setenv CPPFLAGS -I/opt/intel/mkl/8.0.2/include
setenv LDFLAGS "-L/opt/intel/mkl/8.0.2/lib/32 -lpthread"

(just type these as a command , that is ok.)

そして、設定が終わったらgromacsのパッケージを解凍して、ディレクトリのなかに入り、
以下のコマンドを打っていく。
(Then, extract the gromacs archive, and goto the created directory , hit the below commands.)

./configure \
--with-fft=mkl \


make
make install

さらにMPI処理をさせたいプログラムはmdrunしかないので、以下のコマンドをって並列用にコンパイルを行う。mdrunがMDを行うコアプログラムだから。
(Next when parallel works are needed, compile only 'mdrun' program with mpich. Because the 'mdrun' is a core program that do MD job. )

make clean
./configure \
--with-fft=mkl \
--enable-mpi \
--disable-nice

make mdrun
make install-mdrun

これでインストールが終了しました。

これをしないとチュートリアルが動きませんでした。
(GMXLIB should be setted like this... without this, tutorial program is not worked properly. )
setenv GMXLIB /usr/local/gromacs/share/gromacs/top/

チュートリアルはここにあります。
(tutorial program is here.)
usr/local/gromacs/share/gromacs/tutor/gmxdemo/demo

C言語

今、GROMACSというフリーソフトのソースコードを読もうとしています。

といっても、まだコンパイルすらしていません。
使い方も意味不明な所が多く、まず最初にマニュアルを読んで出来ることと
出来ないことを明確にする所から始めています。

http://www.gromacs.org/


で、まださっぱり分かりません。
どうも周期境界を持った系以外では計算できないようです。
使い方も結構簡単で、チュートリアルがWeb上にあります。

このプログラムはGromosのforce fieldを使用することを前提に作られています。
しかし、商用のamberやcharmmなどのforce filedにも対応させるソフトも
同じサイトで公開されています。

インプットを作るソフトから解析するソフトまであるので、
きっと使いこなすのは楽でしょう。

プログラムを改変してまでやりたいことはumbrella samplingの
反応座標を変えたいこと位しかないですし。

最近ではfortranのコンパイラを導入するのでさえ不便ですから、c言語主体
となるのも良いのかもしれません。

2007年7月20日金曜日

XML

XMLというプログラム言語もどきなものがあります。
HTMLの拡張版で、独自のタグを定義することができます。
この「独自のタグ」が利用できるというのは非常に大きいのです。

独自のデータベースを構築する時。
座標などのデータやパラメーターなどを整理したファイルを作る時。

XMLはphpやpythonやperl、rubyなどのスクリプト言語系で利用できるようです。
おそらくC++言語でも。

しかし、残念な事にfortranにはありません。
そんなのは解釈用のsubroutineを作るか、外部でpythonやperlで
データを抜き出すような操作をする(意味がないじゃんか)
と、問題はクリアできるけれど。

近年評価が高いパッケージとしてGROMACS、NAMDなどが
注目されています。並列効率の非常に良いMD計算用汎用プログラム
なのです。それらの標準記述言語がC言語なんです。

GROMACSの良い所はマニュアルが非常によく整備されていて、
商用の物を凌駕しています。ただそれだけが理由で使いたいなと
思ったのですが、残念な事に単位系が違うのです。将来的に
パラメーターファイルはXMLになりそうな気がしますね、この
パッケージは。

結局の所、頑張ればC言語などものともせず改良できるのだろうけれど。
解析プログラムはやっぱり外部プログラムだしね。C言語のプログラム群に
fortranのsubroutineを入れられるのなら、問題なく運用出来そうです。
そんなことが出来るにはプログラムをほぼ完全に読み切らないとダメだし、
それが出来るならCで書くよなぁ。

本日の悩みどころ::
C言語のプログラムを読めるようになるかどうか。
XMLをどのような形で利用するか。

2007年7月19日木曜日

初投稿

googleを本格的に使うのはほぼ初めてです。なんでも新しいのは新鮮ですね。
書き始めのネタとしてはまったく何も思いつきません。
なぜこのブログを立ち上げようとしたのかと問われると理由はありません。

そういうサービスがあるなら利用してみようかなという程度です。


適当にのんびりブログに書いても良いようなネタを考えて書いていこうと思います。