Open Catalyst Project汎用力場を使うための設定¶
Pythonの設定¶
Open Catalyst Projectで公開されているインストール手順に沿って、LAMMPSから汎用力場を使うために必要な設定手順を説明します。
実際に計算を行うマシン(計算サーバーにジョブ投入する場合には、その計算サーバー上)でインストールを行ってください。
(任意)CUDAの用意
GPUを使って計算を行うには、CUDA Toolkitがインストールされている必要があります。
NVIDIAのダウンロードページからCUDA Toolkit 10.2(Ampere世代GPUの場合は11.1)をダウンロードし、インストールしてください。
NVIDIAドライバがインストールされていない場合は、そちらもインストールしてください。
conda環境の用意
Python環境としてcondaを使用します。現在condaをお使いでない場合は、必要最小限の構成であるMinicondaを推奨します。
Minicondaのページからインストーラーをダウンロードし、インストールしてください。
Windowsで環境変数
PATHを変更しない設定でインストールした場合、以降の作業はスタートメニューからAnaconda Promptを起動して行ってください。ocp-modelsリポジトリの用意
gitコマンドが使える場合は
git clone https://github.com/Open-Catalyst-Project/ocp.gitまたは https://github.com/Open-Catalyst-Project/ocp/archive/refs/heads/master.zip をダウンロード・解凍します。
Ampere世代GPUを使う場合は
env.gpu.ymlを開き、次の2行を変更してください。変更前¶- cudatoolkit=10.2 - -f https://pytorch-geometric.com/whl/torch-1.9.0+cu102.html
変更後¶- cudatoolkit=11.1 - -f https://pytorch-geometric.com/whl/torch-1.9.0+cu111.html
インストール
リポジトリのフォルダに移動し、
pip install conda-mergeを実行します。次に、ocp-models仮想環境を作成します。
CPUで計算を行う(GPUを使わない)場合¶conda-merge env.common.yml env.cpu.yml > env.yml conda env create -f env.yml conda activate ocp-models
GPUで計算を行う場合¶conda-merge env.common.yml env.gpu.yml > env.yml conda env create -f env.yml conda activate ocp-models
macOSで、かつCPUで計算を行う場合¶conda env create -f env.common.yml conda activate ocp-models MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ pip install torch-cluster torch-scatter torch-sparse torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.9.0+cpu.html
最後に
pip install -e .を実行してリポジトリの内容をパッケージとしてインストールします。
ヒント
ここで作成したocp-models仮想環境を削除するには、
conda deactivate conda remove -n ocp-models --all
を実行します。
学習済みのモデル(ptファイル)はNanoLabo Toolに同梱されているため、ダウンロードの手順を行う必要はありません。
NanoLaboへの設定¶
ローカル(NanoLaboを使っているマシン)で実行する場合
画面左上のアイコン
から (またはForce Field設定画面の Setting Python ボタン)でpython実行ファイルのパスを設定します。Windowsでは
condaのインストール先\envs\ocp-models\python.exe、Linux・macOSではcondaのインストール先/envs/ocp-models/bin/pythonにあります。リモート(計算サーバー等)で実行する場合
condaのインストール先が
~/anaconda3または~/miniconda3の場合は、デフォルトで追加されるLD_LIBRARY_PATHで動作しますので、設定は必要ありません。他の場所にインストールした場合は、画面左上のアイコン
から を開き、ジョブスクリプトに LD_LIBRARY_PATHを追加してください。export LD_LIBRARY_PATH=(condaのインストール先)/envs/ocp-models/lib:$LD_LIBRARY_PATH
LAMMPSを直接実行する場合¶
NanoLabo Tool同梱の実行ファイル lammps_oc20 を使用します。MPI並列計算、ビリアル応力の計算(NPTアンサンブル、セル最適化)には非対応です。
Linux・macOSでは、実行時にPythonの動的ライブラリを使用しますので、環境変数 LD_LIBRARY_PATH を設定してください。
$ export LD_LIBRARY_PATH=(condaのインストール先)/envs/ocp-models/lib:$LD_LIBRARY_PATH
また、Linuxでは環境変数 OPAL_PREFIX を設定してください。
$ export OPAL_PREFIX=/opt/AdvanceSoft/NanoLabo/exec.LINUX/mpi
LAMMPSから oc20_driver.py を呼び出すことで動作しますので、NanoLabo Toolインストール先の oc20driver フォルダをPythonのモジュール検索パスに追加してください。例えば、環境変数 PYTHONPATH に追加します。
$ export PYTHONPATH=(NanoLabo Toolのインストール先)/oc20driver:$PYTHONPATH
LAMMPSの入力ファイル中で、以下のようにpair_styleを設定します。
pair_style oc20
pair_coeff * * <model> <元素名1 元素名2 ...>
pair_style oc20/gpu
pair_coeff * * <model> <元素名1 元素名2 ...>
パラメーター
model 使用するグラフニューラルネットワークのモデルDimeNet++, GemNet-dT, CGCNN, SchNet, SpinConv のいずれかを指定元素名 LAMMPSのatom type毎に、対応する元素名を列挙