QEのFedora13(X86_64)へのインストールメモ 2011/03/04

  • Quantum-Espresso(QE)は、擬ポテンシャルと平面波を使う第一原理電子状態計算プログラムである。
  • Core i7 X980 (3.33GHz)を使ったPCにIntel fortran, c コンパイラをインストール。OSはFedora13のX86_64版。コンパイラは以前書いたようにインストール。Fedora13, 14にインストールしたが、特に問題は生じなかった。.bashrcに
    source /opt/intel/bin/compilervars.sh intel64
    を追加するとログイン時に環境変数などを自動で設定してくれる。

openmpiのインストール

  • www.open-mpi.orgからソースをダウンロード。prefixで指定しない場合は、/usr/local/binにインストールされる。これを実行パスに追加する。なお最新のFedora14ではエラーが生じた。対応してないらしい。Fedora13ではエラーは出ないので13を使う。fedoraは開発環境などもインストールしておかないと、openmpiが正常に進まない。
    >./configure CC=icc CXX=icpc F77=ifort FC=ifort
    >make
    >su
    >make install

mkl(Intelのmath library)のfftwインターフェースの作成

  • fftwはQEにも用意されているが、mklにfftwのインターフェースがある。こちらを使った方が速いようである。しかしmklの方を使う場合は予めコンパイルする必要がある。/opt/intel/mkl/interfaces/fftw3xfにソースがあるので、ここでmakeする。64bit版の場合は、
    >make libintel64 compiler=intel
    できたライブラリーはmkl/libに移す。
  • またmake.sysのDFLAGSを
    DFLAGS = -D__INTEL -D__FFTW3 -D__MPI -D__PARA
    と後ろに2つ並列関係のオプションを追加する必要がある。

QE4.2.1のインストール

  • ./configureを実行するとコンパイラはIntelのものを設定してくれるが、mklライブラリーを設定してくれない。BLAS, LAPACK, FFTにQE内部ライブラリーを使う場合はこれで問題なくmakeできるであろう。しかしより高速なmklライブラリーが使えないのは困る。ライブラリーにmklが使われるように正しく設定してやる必要がある。私の場合はいつもここでつまずく。最終的にはライブラリーの場所を具体的に指定することで何とか設定できた。単一のライブラリーを使っているならその名前まで指定すればいいのであろうが、そうでない場合にはそのディレクトリーを指定し、その他のオプションを設定する必要がある。今回はBLAS, LAPACK_LIBSについてはディレクトリーを指定した後に-mkl_intel_lp64 -lmkl_sequential -lmkl_coreを指定した。FFT_LIBSについては上でmakeしたライブラリーを指定した。
  • これでconfigureした。make allしてもエラーは出なかった。

実行

  • mpirunでエラーが生じる。これは/opt/intelのmpirunが実行されるためで、それをリネームして、/usr/local/bin/mpirunが実行されるようにする。また/usr/local/libのパスを設定する。/etc/ld.so.conf.d/にパスを書いたmy.confを追加する。ldconfigを実行。これでエラーが出なくなった。
  • このLinux自体から計算させることはほとんどなくて、Macbookからsshでログインして計算させている。夜や週末でも計算ができるが、ログアウト後しばらくすると計算が止まる。長時間計算させたい場合はnohupをコマンドの前につけるのが普通だが、うちの環境ではこれでも止まる。そこでatを使うようにした。これは時間指定でジョブを走らせるもので、これだとログアウトしても計算は止まらない。> at 10:00と時間指定する。> at nowだと直ちに、5時間後は> at now + 5 hoursでOK。atで走らせるコマンドを入力して、最後はCtr-Dで抜ける。atqまたはat -lで待っているジョブのリスト、atrmでジョブの削除ができる。
  • なおFedora20ではnohupの問題はなくなった。逆にatがうまく動かない...
  • 計算状況を常時モニターしたい場合は、tail -f test.outとする。-fはファイルに更新があった場合に表示を更新するオプションで非常に便利。
  • Macbook pro (Core i7)で以前行ったpw.xのいくつかの結果と比較してみる。Core i7 X980は同じコア数2で比較しても3−4倍速い。4コアの計算では10倍速くなっているものもあった。なおQEで用意されているライブラリーで計算すると、かなり遅くなった。
  • gipawで計算途中で止まる。FFT_LIBSのみQE付属のものを使うようにconfigureして、gipawのみ再コンパイルした。これが原因かよくわからず。

計算用単位の変換

  • 長さ: 1 au = 0.5291772 Ang.
  • PV項の計算のため:1 GPa = 0.0004587425 Ry/Ang^3

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-01-15 (月) 10:56:14 (463d)