第一原理計算のオープンソースソフトウェアであるQuantum ESPRESSOを、WSL上でソースからビルドしたいと思います。
今回はWSL上でやっていますが、Ubuntu等でも共通だと思います。
また、Windows用のQE実行ファイルは現在配布されていないので、Windowsで最新のQEを使いたい場合は実質この方法しかないと思います。
- 環境
- LenovoのノートPC
- Windows11 Home 22H2
- WSL2 (Ubuntu 22.04.2 LTS)
- コンパイラにはこだわらない(動けばいい)
ダウンロード
Quantum ESPRESSOのソースを公式サイトからダウンロードするにはユーザ登録とログインが必要ですので、登録しましょう。
登録したらログインしましょう。
3番目の入力ボックスにはsecurity codeの番号をそのまま入力します。
ダウンロードのページではSOFTWAREのQuantum ESPRESSO V.〇〇をダウンロードします。
ダウンロードサイズは80MBくらいでした。
なおgitが分かる人はGitHubやGitLabからクローンすると認証無しでダウンロードできます。
インストール
WSLの準備
WSL2の環境がまだない場合はこちらの手順で準備します。
WSL2が動かせるようになったらコンパイラ等を準備します。
すでにgccやgfortranやMPIがある方はスキップして構いません。
sudo apt update
sudo apt install build-essential mpich
これでgccやgfortranやMPICHなどが入ります。
なお今ではifortなどもaptでインストールできるので、ディスク容量に余裕があってコンパイラにこだわりたい方はそちらを使うのもありだと思います。
インストーラの準備
Windows側のファイルはWSL側からは/mnt/c/でアクセスできます。
ホームディレクトリにコピーし、tarで展開します。
$ pwd
/home/wsl
$ cp /mnt/c/Users/Windowsのユーザ名/Downloads/qe-7.2-ReleasePack.tar.gz .
$ tar -xvf qe-7.2-ReleasePack.tar.gz
ビルド
展開したものをビルドしていきます。--prefix
でインストール先を指定します。
なお make all
は make all -jN
にするとN並列で進んで速くなりますが、ノートPCなので謙虚に -j
なしでやります。
$ cd qe-7.2
$ ./configure F90=gfortran F77=gfortran CC=gcc MPIF90=mpif90 --prefix=$HOME/.local/qe
$ make all
$ make install
make all
で全てのプログラムのコンパイルを行い、make install
で実行ファイルが --prefix
の場所にコピーされます。
make install
をやらずに終わってもいいです。その場合はPATHを通す場所が変わります。
また、make all
は全てコンパイルするため時間がかかりますが、pw.x しか使わないのであれば make pw
のほうがいいです。
参考 Intel oneAPIを使う場合
コンパイラの環境変数はmoduleコマンドで読み込んでいます。またこれはあくまで一例です。
. /etc/profile.d/modules.sh
module load mpi/latest
module load compiler/latest
module load mkl/latest
./configure MPIF90=mpiifx F90=ifx F77=ifx CC=icx --enable-parallel prefix=$HOME/.local/qe
make all
make install
参考 GPU用にコンパイルをする場合
参考 make allの後の状態
make allが終わったときの画面。
make allが終わった後のbinの中身。
PATHを通して動作確認
make install
をしたことにより、実行ファイルが $HOME/.local/qe/bin
の中に置かれました。
ここにPATHを通します。(make installをしていない場合はqeフォルダ内のbinを指定します)
まず.bashrcを開きます。
$ vi ~/.bashrc
以下のものを追記します。
export PATH=$HOME/.local/qe/bin:$PATH
.bashrcの変更を反映し、pw.xを動かしてみます。
$ source ~/.bashrc
$ pw.x
無事に動きました。Ctrl+Cで終了しましょう。
ちなみに mpiexec -n 4 pw.x
を動かしてみると。
こちらも無事に動きました。running on 4 processors
の表示もあります。
まとめ
WSLにQuantum ESPRESSOを入れる方法を解説しました。
Windows上で最新のQuantum ESPRESSOを動かそうと思うと、実質この方法しかないのではないでしょうか。
この記事が誰かの参考になれば幸いです。
コメント