目次
-----
1. はじめに
GRRM20 with Matlantis 連携パッケージでは以下を提供します。
- 「GRRM20 with Matlantis」 を実行するために必要なファイル類
- Matlantis 上での GRRM20 の実行方法に関する技術支援
※ インストールは本書 2~4 の操作をお願いします。
1. 1 配布物
弊社からは Matlantis のPackage Launcher から zip ファイルを提供します。Matlantis 上で展開してファイル構成を確認してください。
-
Matlantis Package launcher は下図、赤枠のアイコンをクリックしてください。
-
Package Launcher 内中段に GRRM Packages があります。
-
grrm-pfp-packages-v0.3.0 フォルダ構成
GRRM20_install, grrm_pfp_interface, GRRM20_testjobs の3つから構成されます。
主に使用するノートブックは以下の通りです。
- install_grrm20_ja.ipynb: GRRM20のインストールに使用します。
- install_ja.ipynb: インターフェースをインストールします(手順3)
- kickGRRM20_ja.ipynb: ノートブックからGRRM20s を実行テストします
-
GRRM20_test_jobs: GRRM20 のテストジョブが格納されています。
※このほかにHPCシステムズから GRRM20 本体一式ファイルが提供されます。次項からのインストール作業は本体一式と連携パッケージが手元に揃った状態で実施してください。
🗂grrm-pfp-packages-v0.3.0
∟🗂GRRM20_install
∟install_grrm20.ipynb (GRRM20 本体のインストール)
※ここにGRRM20 with Matlantis 本体一式ファイルを格納(手順2)
∟🗂grrm_pfp_interface
∟🗂 example
∟install_ja.ipynb (インターフェースのインストール)(手順3)
∟🗂 grrm_from_notebook
∟kickGRRM20_ja.ipynb (ノートブックからGRRM20sを実行)(手順4)
∟🗂 grrm_from_terminal
∟ job1.com (ターミナルで実行する場合のテストファイル)∟🗂GRRM20_testjobs
2. GRRM20 with Matlantis 本体のインストール
HPCシステムズから提供されるファイル(GRRM20withMatlantis_FL_yyyymmddxxxxxxxxx.tar.bz2)が必要です。
-
grrm-pfp-packages-vx.x.x.zip を Matlantis 上で展開します。(zipファイルを右クリック
> extract archive)
-
GRRM20 with Matlantis 本体一式 tar.bz2 ファイルを GRRM20_install
ディレクトリ下へ格納します。
-
GRRM20_install ディレクトリ内にある install_grrm20.ipynb ファイルを開きます。その後の操作は
install_grrm20.ipynb 内の案内に従ってください。
-
インストールが完了すると、”GRRM20p” コマンドが実行可能になります。
- .bashrc および .env を書き換える操作があります。予めご自身でこれらを作成している場合はご注意ください。編集前のファイルは ホームディレクトリの .evacuation_dir に格納されます
-
設定後の .bashrc と .env には以下のような設定が追記されます。
-
~/.bashrc.
# Set up aliases
alias ll='ls -alF'
alias grep='grep --color=auto'
alias ls='ls --color=auto'
# Set up Python environment
# use_venv python39
use_venv python311
source /home/jovyan/programs/GRRM20/GRRM20setting.sh
# Set up command history
export HISTSIZE=10000
-
~/.env
PATH="/home/jovyan/GRRM20:${PATH}"
LD_LIBRARY_PATH="/home/jovyan/GRRM20:${LD_LIBRARY_PATH}"
GRRMroot="/home/jovyan/programs/GRRM20"
subgrr="GRRM20.out"
subgau=""
subchk=""
subuchk=""
submol=""
subsiesta=""
submpi=""
I_MPI_FABRICS="shm:tcp"
I_MPI_FALLBACK=0
I_MPI_HYDRA_BOOTSTRAP="ssh"
STLM_SERVER_ADDRESS="xxxxxxx(サーバーURLです。安全のため非公開とします)"
STLM_SERVER_PORT= NNNNN
※ポート番号(NNNNN)はテナントごとに異なります。
3. インターフェースのインストール
Matlantis 上で PFPを利用して GRRM20 を実行するためのインターフェースをインストールします。インストールが完了すると、PFPを使ってGRRM20 を実行可能な GRRM20s コマンドが有効になります。
/grrm_pfp_interface/examples/install_ja.ipynb を開き、その後の操作はノートブック内の説明に従ってください。
ご留意事項:
- 連携パッケージを初めてインストールする場合、ノートブックのはじめにある「(注意点)v0.1.1以前のインターフェースを使用していた方向け」の部分はスキップして、以下の pip install コマンドから実行してください。
- 一方で、v0.1.1 以前のインターフェースをご利用の場合は一番上のセルのコメントアウトを外して、環境変数設定の削除から実施してください。
4. 動作テスト
GRRM20s の動作テストをします。ノートブックから実行する方法とターミナルから実行する方法を用意しておりますのでお好みでご利用ください。
4.1 ノートブックから実行する方法
/grrm_pfp_interface/examples/grrm_from_notebook/kickGRRM20_ja.ipynb ファイルを参考にしてください。ノートブックから実行した結果はデフォルトで grrm_work ディレクトリに格納されます。
手順としては .env ファイルを読み込み、引数を設定してGRRM20s を実行する流れです。引数では、calc_mode や model_version、出力ファイルの出力先ディレクトリ名(grrm_work_dir)などを設定できます。
4.2 ターミナルで実行する方法
入力ファイルのあるディレクトリへ移動します。今回は examples/grrm_from_terminal/job1.com ファイルを実行する場合で説明します。
cd /grrm-pfp-package-v0.3.0/grrm_pfp_interface/examples/grrm_from_terminal/
GRRM20s を実行します。(バックグラウンドで実行する場合は以下のように、nohup & を使用します)
nohup GRRM20s &
計算が正常終了すると、入力ファイル名に応じた複数の出力ファイルが生成されます。job1.com の場合、job1_message_END.rrm の中に次のように「Normal termination of the GRRM Program Ver. 23-3123 at Hokkaido Univ....」と出力されています。
cat job1_message_END.rrm
5. grrm-pfp-packages v0.2.2以前のバージョンをご利用の方へ
- GRRM本体のインストール(手順2: install_grrm20.ipynb)は不要です。
- インターフェースのインストール(手順3: install.ipynb )を実行してください。その際、最初に一番上のセルのコメントアウトを外して「環境変数設定削除」をお願いします。
v0.2.2からの変更点:
New
- Python 3.11に対応しました。
- GRRMのライセンス残数を確認するコマンドを追加しました。
Changes
- カーネルのデフォルトをPython 3.11に変更しました。
- 英語のドキュメントを追加しました。
- 計算実行用のNotebookの名称をkickGRRM20_ja.ipynbおよびkickGRRM20_en.ipynbに変更しました。
- kickGRRM20_ja.ipynbおよびkickGRRM20_en.ipynbにて、GRRMのライセンス残数を確認するコマンドを追加しました。
- 依存するライブラリ数を減らしました。
Breaking Changes
-
GrrmMatlantisParamsのcalc_modeパラメータのデフォルト値をv8.0.0に変更しました。
この変更に伴い、pfp-api-client>=1.23.0が必要となります。
- GrrmMatlantisParamsのcalc_versionパラメータのデフォルト値をPBE_PLUS_D3に変更しました。
- grrm_pfp_interface.jobmanager.grrm20s内の以下関数を移動しました。v0.3.0では非推奨となります。
- grrm_submit-> grrm_pfp_interface.jobmanager.grrm_submitに移動
- find_job_name -> grrm_pfp_interface.utils.utilsに移動
- GrrmpArgsおよびGrrmMatlantisParams -> grrm_pfp_interface.settingsに移動
Fixed
- 軽微な修正を行いました。
v0.1.1 からの変更点:
- pip に対応しました(set_interface_path.ipynb ファイルによる環境変数の変更が不要になりました)。
- ソケットサーバーの活動を監視するウォッチドッグ・プロセスを追加しました。
- 間接的なソケットサーバーのタイムアウト機能を実装しました。
- メモリ使用量増加の問題を解決しました。
- ターミナルで GRRM20s 実行時の出力先をカレントディレクトリに変更しました。
- "README.md "などのドキュメントを追加しました。
- GRRM20 の "ReadMultipleInFile" オプションをサポートしました。
- Python 3.9を推奨、Python 3.8 & 3.9 環境をサポート、ASE 3.23 & 3.22をサポートしています。
6. TIPS
6.1 Matlantis上でのGRRM20 実行における留意事項
-
GRRM20 の一般的な使い方は GRRM の General Interface に基づきます。マニュアルは北大AFIR Web をご覧ください。
-
入力ファイル
Matlantis 上で実行する場合、先頭行に「%link=non-supported」、オプション指定行に「sublink=./kickpfp.py」が必要です。(kickpfp.py はGRRM20s 実行時にカレントディレクトリに作成されるため、ユーザー様ご自身で作成いただく必要はありません)。
例:job1.com
%link=non-supported
# MIN
0 1
C -0.079213112255 0.000038936045 -0.592031587948
O 0.018800714554 -0.000018308130 0.717081381477
H 0.322739833191 0.909186505065 -0.947006485140
H 0.322739833191 -0.909359858691 -0.946723086445
Options
sublink = ./kickpfp.py
- 実行可能なジョブタイプ
実行可能なジョブタイプは test_jobs 内にサンプルの入力ファイルを用意しています。以下の手法は使用可能です。- MIN
- Freq
- Saddle
- IRC
- ADDF
- SCW
- 2PSHS
- LUP
- MC-AFIR
- DS-AFIR
- SC-AFIR
- RePATH
- ReStruct
- ReEnergy
- RCMC
一方で以下の手法は使用できません。
-
- MESX, MECI
- External atoms (Micro Iteration)
6.3 お問合せ先
ご不明点がございましたら Matlantis の Contact から 弊社技術サポートまでお問合せください。GRRM 関連のお問い合わせとわかるように、お問合せ内容に 「GRRM」というキーワードを含むようにご連絡いただけますと幸いです。
GRRM20 with Matlantis で使用可能な手法に関するお問合せなどは、HPCシステムズ様と連携してご対応いたしますのでご回答にお時間を要する場合がございます。予めご了承ください。
7. FAQ
-
動作テストにおいてエラーで計算が止まった。
-
パスが通っていない、GRRM20s が動いていない場合
job1_message_ERROR.rrm エラー例:
The job1_message_CONTINUE.rrm file doesn't exist...
-
ライセンス認証ができない
job1_message_ERROR.rrm エラー例:
ERROR!
Please check job1... -
契約開始日前の場合
nohup.out (ターミナル環境での実行の場合)もしくはkickGRRM.ipynb (ノートブック環境で実行の場合)
connect():Connection refused
-
パスが通っていない、GRRM20s が動いていない場合
-
-
ライセンス期限外の場合
nohup.out (ターミナル環境での実行の場合)もしくはkickGRRM.ipynb (ノートブック環境で実行の場合)
License error has occurred.
-
ライセンス期限外の場合
-
途中で計算を止めたい
実行中のディレクトリに {jobname}_message_STOP.rrm ファイルを作成するとGRRM20が計算停止モードに切り替わります。
-
GRRM20s の引数(ターミナル実行時)
ノートブックご利用の場合は kickGRRM.ipynb に引数について記載しています。
$ nohup GRRM20s {job_name} mode=CRYSTAL_U0 version=5.0.0 work="test" &- mode: PFPの計算モードを指定します
- version: PFPのバージョンを指定します。
-
work: 計算結果を出力するディレクトリ名を指定します(str形式)。指定しない場合出力ファイルはcurrent directory
に出力されます。
詳細は /grrm_pfp_packages/examples/grrm_from_terminal/README.md をご覧ください。