OSはUbuntu14.04を使いました。
====== 必要なソフトウェア ======
事前にMPIのライブラリをインストールしてください。
(一応、設定ではserial計算も可能です。)
====== QuantumESPRESSOのインストール ======
Quantum ESPRESSOのパッケージはhttp://www.quantum-espresso.org/からダウンロードできます。
ページ上部メニューから[DOWNLOAD]を選び、横のメニューバーにある [Download page] からダウンロードできます。
ダンロードしたファイルはホーム・ディレクトリに保存します。
Linuxのターミナル(端末)を開き、次のように入力してダウンロードしたファイルを解凍し、解凍したディレクトリの中に入ります。
$ tar -xzvf qe-6.2.1.tar.gz
$ cd qe-6.2.1
あるいは最新版であれば GitHub https://github.com/QEF/q-e/ からも入手できます
$ sudo apt install git
$ git clone https://github.com/QEF/q-e.git
$ cd q-e
以下では ~/q-e/ にQuantumESPRESSOがインストールされるとします。
Quantum ESPRESSOのインストールに必要な設定をします。
$ ./configure F90=gfortran F77=gfortran CC=gcc MPIF90=mpif90 --enable-openmp --enable-parallel $ GNUコンパイラ
$ ./configure MPIF90=mpiifort F90=ifort F77=ifort CC=gcc --enable-openmp --enable-parallel --with-scalapack=intel # Intel Parallel Studio XE
$ ./configure MPIF90=mpiifort F90=ifort F77=ifort CC=icc CFLAGS="-D__PURE_INTEL_C99_HEADERS__" --enable-openmp --enable-parallel --with-scalapack=intel # Cのコンパイラにiccがどうしても使いたい場合
$ make all
* --enable-openmp ... OpenMPを使用した並列計算を自動的に行います
* --enable-parallel ... MPIを使用した並列計算を行います。実はこのフラグをつけなくてもデフォルトでMPIを使用するので、MPIを使用したくない場合は --enable-parallel=no としてください。
* --with-scalapack=intel ... Intelコンパイラに同梱のScalapackを使用します
* 詳しくはインストールマニュアルを参照してください。
GNUコンパイラを使う場合でも、MKLが入っていれば自動でMKLを使用します。
makeには時間がかかるので、のんびり終わるのを待ちます。
コンパイルが終了したら、ホーム・ディレクトリにある.bashrc を編集します。
$ gedit ~/.bashrc
でファイルを開き、ファイルの一番最後の行に次の一文を書き加えます。
export PATH=$PATH:/home/username/q-e/bin/
ファイルを保存、終了して端末に戻り、 .bashrc を読み込んでインストールが完了します。
$ source ~/.bashrc
あるいはコンピュータを再起動することでもインストールが完了します。
===== Intel MKLを使う場合の注意 =====
Intel MKL 11.3.2および11.3.3のScaLAPACKにバグがあり、MPIによる並列計算を実行したときにエラーが出力されることがあります。
MKLを使う場合は、それ以前あるいはそれ以後のバージョンを使用するように注意してください。
====== XCrySDenのインストール ======
XCrySDenは結晶構造やフェルミ面、電荷密度分布といったものを3Dで表示するソフトです。 入れておくと大変便利です。
UbuntuなどのDebian系でapt-getが使えれば、インストールは極めて簡単です。 端末を開いて
$ sudo apt-get install xcrysden
でインストールが完了します。
====== make でエラーが出る場合 ======
Ubuntu 18.04でmake allしたら次のエラーメッセージが出てきました(QE6.5)。
$ ./configure MPIF90=mpiifort F90=ifort F77=ifort CC=gcc
(略)
configure: success
$ make all
(略)
mpiifort -O3 -g -fopenmp -x f95-cpp-input -fopenmp -D__DFTI -I/home/sugimoto/q-e//include -I/home/sugimoto/q-e//FoX/finclude -I/home/sugimoto/q-e//S3DE/iotk/include/ -I/opt/intel/compilers_and_libraries_2020.0.166/linux/mkl/include -c iotk_base.f90
ifort: コマンドライン警告 #10155: オプション '-x' を無視します。引数が必要です。
ifort: エラー #10236: ファイルが見つかりません: 'f95-cpp-input'
(略)
configureファイルがうまく生成されていないようです。
Intel Fortranが使えないようですので、こうなった場合は
$ sudo apt install gfortran
$ ./configure MPIF90=mpif90 F90=gfortran F77=ifort CC=gcc
とすればうまく行きました。
このエラーはコンピュータによって出たり出なかったりするので謎です