OUOperatingGrant.png

Quantum-Espresso 6.4.1のLinux Fedora30へのインストール(2019/06/15)

  • Quantum-Espresso(QE)は、擬ポテンシャルと平面波を使う第一原理電子状態計算プログラムである。QE6.4.1をCore i5 PC (OSはFedora30 X86_64) にインストールした際のメモ。
  • インストールしたPCはi5 8500 (6 core)、メモリは8 GB、M.2のSSD 256 GBの構成で、パソコン工房でちょっと前に買った。本当は別の目的に買ったが、グラフィックスボードとの相性が悪いので、計算用に使うようにした。計算目的でなかったので、メモリ、SSDがちょっと小さい。コンパイラとしてはgcc, gfortranで、ライブラリーはIntelのMKLを使う。
  • (2019/06/29追記) その後、i9-18core PC, Ryzen-Thredripper 16core PCに同様に、Fedore30でQE6.4.1をインストールしてみたが、問題なくインストールできた(その時気づいた、このページの間違い部分を訂正した)。これらはFedora29で使っていたが、データをバックアップして、Fedora30にアップデートしたもの。

Fedora30のインストール

  • Desktop版をMacにダウンロードして、isoファイルを右クリックして、出てきたメニューでディスクイメージへの書き込みでDVDに焼いた。それをi5 PCにインストールした。特に問題なし。アップデートしておく。

gccのインストール

  • まずはgccのインストールをする。https://gcc.gnu.org/からダウンロード。9.1.0が最新だった。tar xzfで解凍。色々と足りないのですぐにconfigureはできないので、まず必要なものをインストールする。これには以下のコマンドを実行すればよい。
    $ ./contrib/download_prerequisites
    これで不足分のコードをインストールするが、cppは入ってないようで後でmake時にエラーが出るので、以下のようにg++をインストールした。
    $ sudo dnf install gcc-c++
    gcc-c++であって、g++やgnu-c++ではないので注意。これでやっとconfigureできる。
    $ ./configure --disable-multilib
    とする。OSが64bit用なので、--disable-multilibをつけている。ないとエラーが生じる。これでmake, make installできる。ここでmakeがない場合は、
    $ sudo dnf install make
    でmakeもインストールする。それで、makeする。
    $ make
    $ sudo make install
    これでgccをインストールできた。なお、特にmakeにはかなり時間がかかるので、1時間かそこら放っておく。コンパイル後は、.bashrc or .bash_profileに、PATHに/usr/local/binと/usr/bin、LD_LIBRARY_PATHに/usr/local/lib64を追加する。PATHを設定した後は、一度ターミナルをログアウトする。設定が変わらない場合は、再起動してみる。

openmpiのインストール

  • www.open-mpi.orgからソースをダウンロード(最新版はver.4.0.1だった)。なおconfigure時にprefixで/usr/local/openmpiと指定した。これはインストール先の指定。
    $ ./configure ―prefix=/usr/local/openmpi
    $ make
    $ sudo make install
    コンパイル後、PATHに/usr/local/openmpi/binを、LD_LIBRARY_PATHに/usr/local/openmpi/libを追記した。これらがシステムにちゃんと認識されていないと、並列用の実行ファイルにならないので、
    $ echo $PATH
    $ echo $LD_LIBRARY_PATH
    で設定されている内容を確認しておくこと。これでもQEをコンパイルすることができるが、このままでは遅いので、その前にMKLをインストールする。

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

  • BLAS, LAPACK, FFTWのライブラリーはQEにも用意されているが、MKLを使った方が速いので、MKLをインストールする。現在、MKLは非商用だとフリーで使える。私の理解では、Linux用のifortなどはコンパイラについては、個人使用ならばフリーで使えるが、私のように大学での研究目的の場合はアカデミックライセンス(有償)を取る必要がある。一方、MKLは完全にフリーである。Intelのサイトに行って、Linux版のMKLをゲット。必要事項を入力するとメールが届くので、そのメールに従って、ダウンロードした。ダウンロードしたMKLを解凍する。MKLのインストールは、install.shで行う。MKLのディレクトリに入って、
    $ ./install.sh
  • 以前は/opt/intelにデフォルトでインストールされていたはずだが、今回はhome/masami/intel以下にインストールされていた(ここでmasamiはユーザー名で変えて下さい。以下同様)。
  • fftwについてはなぜか別途コンパイルする必要があるようなので、次にMKLのfftw3をコンパイル。/home/masami/intel/mkl/interfaces/fftw3xf/にソースがあるので、ここでmakeする。64bit版の場合は、
    # make libintel64 compiler=gnu
    でいいようだ。できたlibfftw3xf_gnu.aを/home/masami/intel/mkl/lib/intel64/に移す。これでMKLを使ったQEのインストールができるようになった。LD_LIBRARY_PATHに/home/masami/intel/mkl/lib/intel64を追記した。

QE-6.4.1のインストール

  • ソースはhttps://github.com/QEF/q-e/releasesからダウンロードできる。最新は6.4.1だった。必要に応じて他のコードもダウンロードする。
  • 私はtar.gz版をホームディレクトリー(/home/masami)にダウンロードした。tar xzfでアーカイブを展開する。QEのディレクトリに移動して、まず何も指定せずにconfigureしてみる。
    $ ./configure
    出力の最後の方を見て、ライブラリーなどにMKLが正しく指定されているかをチェック。今回もBLASはMKLが自動で選ばれていたが、LAPACKとFFTには指定がなかった。このままmake allすると、LAPACK, FFTについてはデフォルトの遅いライブラリーがリンクされてしまう。仕方ないので直接
    $ ./configure LAPACK_LIBS="/home/masami/intel/mkl/lib/intel64/libmkl_lapack95_lp64.a"
    続き 
    FFT_LIBS="/home/masami/intel/mkl/lib/intel64/libfftw3xf_gnu.a"
    とライブラリーを指定してやる。そしてmake allした。エラーは出なかった。

QE-GIPAW 6.4.1のインストール

  • ソースはhttps://github.com/dceresoli/qe-gipawからダウンロードできる。最新は6.4.1に対応(中)である。私はzipしたものをダウンロードした。
  • QEのディレクトリにソースをコピーして、unzipで解凍し、tar xvfする。qe-gipaw-master内のディレクトリに移動する。READMEにconfigureの仕方が書いてある。それによると、QE自体をコンパイルした時の情報(ライブラリーとか)を必要とするので、QEのディレクトリにqe-gipaw-masterがある場合は、以下のように..(1つ上のディレクトリ)を指定すればよい。
    $ ./configure --with-qe-source=..
    他の場所にある場合は、最後のディレクトリ指定部分を変更する。これでエラーが出なければ、qe-gipaw-masterのディレクトリでmakeとタイプするとgipaw.xができる。これのエイリアスを1つ上のqe-6.4.1本体のbinに移動しておく。
  • pseudopotentialがデフォルトではあまり入ってないので、Quantum-EspressoのWebページのpseudopotentialのところから必要なものをダウンロードして、pseudoディレクトリに入れる。適当な入力ファイルを作って、pw.xが並列で動くかテストする。psまたはtopで見ると、確かに6つのcoreを使っていることが分かる。
    $ mpirun -np 6 /home/masami/q-e-qe-6.4.1/bin/pw.x < test.in > test.out &

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-15 (土) 15:08:51 (178d)