計算の準備

ここではプログラムとポテンシャルの入手、プログラムのコンパイル、および環境のセットアップの方法を簡潔に記述します。

プログラムの入手

STATEはまだ一般公開されていません。CMDワークショップに参加あるいは開発者に直接連絡を取って最新版(>=5.6.6)のソースコードと擬ポテンシャルを入手して下さい。

ログイン

計算を始めるためにPCクラスター(smithあるいはsb100)にログインします(クラスターシステムの使用方法を参照)。

モジュールの準備

プログラムのコンパイルのために以下のモジュールを読み込みます。

  • smithの場合
    module load intel/2020.2.254
    module load intelmpi/2020.2.254
  • sb100の場合
    module load intel/2021.2.0
    module load intelmpi/2021.2.0
    ログインする度にモジュールをロードするのは面倒ですので、~/.bashrc等に上記のコマンドを追加し、以下を実行します。
    $ source ~/.bashrc

作業ディレクトリの作成

このチュートリアルではソースコード、擬ポテンシャル、データはそれぞれ以下のディレクトリに置くものとします。

${HOME}/STATE/src
${HOME}/STATE/gncpp
${HOME}/STATE/outs

ここで${HOME}はホームディレクトリ(ログインした最初のディレクトリ)を意味します。 ホームディレクトリでSTATEのディレクトリを作成し、ディレクトリを移動します。

$ mkdir STATE
$ cd STATE

ここで``$``はコマンドプロンプトを示します。 次に擬ポテンシャル用のディレクトリを用意します。 ここでは講師(筆者)のものを利用します。以下のコマンドを実行します。

$ ln -s ~ikutaro/STATE/gncpp

次にソース用ディレクトリを作成し、そこに移動します。

$ mkdir src
$ cd src

コンパイル

以下では5.6.9 (state-5.6.9.tgz)を使用するものとします。
先ず講師(筆者)のディレクトリにあるソースコードをソースディレクトリ (STATE/src)にコピーします。

$ cp ~ikutaro/STATE/src/state-5.6.9.tgz .

次にソースコードをtarコマンドを使って解凍します。

$ tar zxf state-5.6.9.tgz

これによりstate-5.6.9/というディレクトリが得られます。
以下を実行しディレクトリを移動

$ cd state-5.6.9/src

そしてMakefileの準備を行います。具体的には../arch/ディレクトリにある適当なmake.arch.*ファイルをコピーするかシンボリックリンクを作ります。ここではシンボリックリンクを作ることにします。 smithの場合

$ ln -s ../arch/make.arch.intel_smith make.arch

sb100の場合

$ ln -s ../arch/make.arch.intel_sb100 make.arch

となるでしょう。make.archを必要に応じて編集した後にmakeを実行しコンパイルを実行します。

$ make

これによりsrc/ディレクトリにSTATEコマンドが生成されます。
さらにユーティリティコマンドをコンパイルするためにutil/ディレクトリに移動します。

$ cd ../util
"make.inc"を環境に応じて編集しmakeを実行します。
$ make

コンパイルされたプログラムはutil/binにインストール(シンボリックリンク)されます。

環境設定

解析の際のコマンド入力を簡単にするためにコマンドサーチパスを追加するのが良いでしょう。ここではホームディレクトリにある.bashrcに以下を追加します。

PATH=${PATH}:${HOME}/STATE/src/state-5.6.9/util/bin

変更を反映させるために以下を実行します。

> source ~/.bashrc

(一度ログアウトし再ログインしても環境変数の変化を反映させることは可能です)

計算例のダウンロード

STATEディレクトリ(~/STATE)で以下を実行します。

$ git clone https://github.com/ikuhamada/state-examples.git examples

ただしsb100ではこのコマンドがうまく実行できません。 以下の手順でexamplesのダウンロードを行って下さい。

  • smithへログインしNFSマウントされたsb100のファイルシステムに移動
    $ cd /homesb/[username]/STATE
    ここで[username]は自分のユーザー名を指します。
  • 以下のgitコマンドを実行します。
    $ git clone https://github.com/ikuhamada/state-examples.git examples
  • smithからログアウトしsb100にログインし直します。
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS