Quantum-Espresso 6.1のインストールメモ(Linux Fedora25) 2017/04/29

  • Quantum-Espresso(QE)は、擬ポテンシャルと平面波を使う第一原理電子状態計算プログラムである。最新版の6.1をLinux (Fedora25 X86_64デスクトップ版) PC2台にインストールした際のメモ。
  • ハードは結構古いCore i7 X980 (3.33GHz)6コアのPCに、最新のSSD(Crucialの525GB, SATA 6Gb/s)を取り付けたもの。なお、以前使っていたハードディスクがつながっていたマザーボード上のSATAポートは遅い方なので、SSDを取り付ける際には速いSATAポート(6Gb/s)と繋いだ。今回はコンパイラとしてはgcc, gfortranで、ライブラリーはMKLを使っている。

Fedora25のインストール

  • これはDesktop版をWindows PCにダウンロードして、isoファイルを右クリックして、出てきたメニューでディスクイメージの書き込みでDVDに焼いた。それを使って、PCへインストールした。

gccのインストール

  • Fedora25のDesktop版にはgccなどは付いてないので、ソースからインストールした。https://gcc.gnu.org/からダウンロード。6.3.0が最新だった。tar xzfで解凍。色々と足りないのですぐにconfigureはできず、まず必要なものをインストールする。これには以下のコマンドを実行。
    >./contrib/download_prerequisites
    ここでとりあえず
    ./configure
    を実行。エラーが出る。エラー内容にしたがって、64 bit版だけ作るように
    ./configure --disable-multilib
    とする。しかし、別のエラーがでる。/lib/cppのsanity checkで出ている。これはcppがないためで、仕方ないので、以下のようにg++をインストールする。
    >su
    >dnf install gcc-c++
    gcc-c++であって、g++やgnu-c++ではないので注意。 これでやっとconfigureがエラーなしで終わったのでmakeする。
    >make
    >su
    >make all
    コンパイルできた。なお、makeには数時間かかる。コンパイル後は、.bashrc or .bash_profileに、PATHに/usr/local/bin、LD_LIBRARY_PATHに/usr/local/lib64を追加する。

openmpiのインストール

  • www.open-mpi.orgからソースをダウンロード(最新版はver.2.1.0)。configureするが、私の場合はgfortranでコンパイルできないとエラーが出るが、gfortranはちゃんと動いていることを確認している。結局、PATHに/usr/binを加えることで解決した。なおconfigure時にprefixで/usr/local/openmpiと指定した。これはインストール先の指定。
    >./configure ―prefix=/usr/local/openmpi
    >make
    >su
    >make install
    コンパイル後、PATHに/usr/local/openmpi/binを、LD_LIBRARY_PATHに/usr/local/openmpi/libを追記した。これで一応QEをコンパイルすることができるようになったが、今回はMKLを使うので、MKLのインストールを行う。

MKL(Intelのmath library)のインストール

  • BLAS, LAPACK, FFTWはQEにも用意されているが、MKLの方が速いので、それをインストールする。現在、MKLは非商用だとフリーで使える。Intelのサイトに行って、Linux版のMKLをゲット。ダウンロードしたMKLを解凍する。MKLのインストールは、install.shで行う。
    >./install.sh
  • 次にMKLのfftwをコンパイル。/opt/intel/mkl/interfaces/fftw3xfにソースがあるので、ここでrootでmakeする。64bit版の場合は、
    >make libintel64 compiler=gnu
    できたlibfftw3xf_gnu.aを/opt/intel/mkl/lib/intel64/に移す。これでQEのインストールができるようになった。LD_LIBRARY_PATHに/opt/intel/mkl/lib/intel64を追記した。

QE-6.1のインストール

  • ソースはhttp://qe-forge.org/gf/project/q-e/からダウンロードできる。最新は6.1だった。必要に応じて他の必要なプログラムもダウンロードする。
  • tar.gzをホームディレクトリーにダウンロードした。tar xzfでアーカイブを展開する。まず何も指定せずにconfigureしてみる。
    > ./configure
    出力の最後の方を見て、ライブラリーなどにMKLが指定されているかをチェック。私の場合はBLASはMKLが選ばれているが、LAPACKとFFTには指定がなかった。仕方ないので直接
    > ./configure LAPACK_LIBS="/opt/intel/mkl/lib/intel64/libmkl_lapack95_lp64.a"
    続き 
    FFT_LIBS="/opt/intel/mkl/lib/intel64/libfftw3xf_gnu.a"
    とライブラリーを指定してやる。これらを付けてconfigureしてから、make allした。makeはこの場合はスクリプトで、個々のプログラムをmakeできる。例えばmake pwだとpw.x(とそれに必要なプログラムも)がコンパイルされる。エラーは出なかった。

テスト

  • 適当な入力ファイルtest.inを使って、
    > mpirun -np 6 pw.x < test.in > test.out &
    pw.xをテストした。正常に計算が終了した。今回の場合、実行の最後にNote:浮動小数点のexceptionについて表示が出てくるが、以前のIntelコンパイラを使った結果と比べても違いはないので、問題はなさそうだ。
  • 先の実行では6つのコアを使った計算が始まる。topコマンドを使うと、pw.xが6つ並列で動いていることが確認できる。pw.xは最も基本の電子状態計算の実行ファイルで、scf計算や構造の最適化などができる。-np 6は使うコア数を指定している。pw.xが存在しないとエラーが出るのはパスに登録されていないから。.bashrcのパスに追加するか、パスを直接指定してやる。私の環境ではこのコマンドラインではなぜかバスがうまく通らないので、実際には相対パスで指定している(../bin/pw.xとか)。よくあるエラーは擬ポテンシャルの場所や名前の間違いである。デフォルトでは用意されている擬ポテンシャルは少ないので、元素や近似の違い等に応じて、必要な擬ポテンシャルをダウンロードする必要がある。計算中はtail -f test.outで計算結果をモニターできる。
  • MKLをインストールする前に、QEに付いてきたBLASなどを使ってコンパイルした場合の計算も行なったが、MKLを使った方が20%ほど速かった。

よく使う単位の変換

  • 長さ: 1 au = 0.5291772 Ang. QEで使う長さの単位はauです。
  • 圧力:1 GPa = 0.0004587425 Ry/Ang^3 これは高圧下のエンタルピーを計算する際のPV項のために必要です。なお、Quantum-Espressoの出力のエンタルピーにはPV項は既に入ってますので、補正の必要はありません。

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-04-29 (土) 17:31:46 (205d)