Quantum ESPRESSOをWSLでビルドする

QE

第一原理計算のオープンソースソフトウェアである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の番号をそのまま入力します。

クリックで拡大

ダウンロードのページではSOFTWAREQuantum 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 allmake 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 のほうがいいです。

参考 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を動かそうと思うと、実質この方法しかないのではないでしょうか。
この記事が誰かの参考になれば幸いです。

コメント

タイトルとURLをコピーしました