編集不可のページ History 添付ファイル

 

TUT HPC Cluster Wiki: "ClusterSystemUsage_new"の差分

1と3のリビジョン間の差分 (その間の編集: 2回)
2019-07-30 04:36:10時点のリビジョン1
サイズ: 34093
編集者: es006
コメント:
2019-07-30 04:48:49時点のリビジョン3
サイズ: 950
編集者: es006
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 10: 行 10:
== ログイン方法 ==

下記ページを参照下さい。
 * [[WideAreaClusterSystem|広域連携教育研究用クラスタシステム]]
行 16: 行 12:
計算プログラムをコンパイルする場合,並列計算用 MPI やコンパイラに応じて環境変数を設定する必要があります. 例えば,並列計算用 MPI として Intel MPI を,コンパイラとして Intel コンパイラを利用したい場合は,以下のようにコマンドを実行して環境変数を設定して下さい.なお,ログイン直後はIntel MPIとIntel コンパイラが設定されています. xxx
行 18: 行 14:
{{{
$ module load intelmpi.intel
}}}
その他,以下の環境設定用コマンドが利用できます.
||並列計算用MPI ||コンパイラ ||設定用コマンド ||
||Intel MPI ||Intel コンパイラ ||module load intelmpi.intel ||
||Open MPI ||Intel コンパイラ ||module load openmpi.intel ||
||MPICH2 ||Intel コンパイラ ||module load mpich2.intel ||
||MPICH1 ||Intel コンパイラ ||module load mpich.intel ||
||- ||Intel コンパイラ ||module load intel ||
||- ||PGI コンパイラ ||module load pgi ||
||- ||gcc コンパイラ ||module load gcc ||
||- ||nvcc コンパイラ ||module load cuda-5.0 ||
== ソフトウェア利用環境の設定方法 ==
xxx
||ソフトウエア名 ||バージョン ||設定用コマンド ||
|| || ||

== ログイン後の環境設定方法 ==
xxx

== コンパイル方法 ==
=== xxx コンパイラ ===
xxx
行 33: 行 27:
== ジョブ実行方法 ==
xxx

=== キュー構成 ===
xxx

==== サンプルスクリプト:xxxコンパイラを使用する場合 ====
xxx
行 35: 行 37:
開発環境を切り替える際には,以下のコマンドを実行し既存の環境設定を削除した後,新しい開発環境を設定します.

{{{
$ module unload 環境設定
}}}
例えば,IntelMPI, Intelコンパイラの環境から,OpenMPI,Intelコンパイラの環境へ変更する場合は,以下のようにしてください.

{{{
$ module unload intelmpi.intel
$ module load openmpi.intel
}}}
== ソフトウェア利用環境の設定方法 ==
各種ソフトウエアを利用する場合,利用するソフトウエアに応じて環境変数を設定する必要があります. 例えば,Gaussianを利用したい場合は,以下のようにコマンドを実行して環境変数を設定して下さい.

{{{
$ module load gaussian09-C.01
}}}
その他,以下の環境設定用コマンドが利用できます.
||ソフトウエア名 ||バージョン ||設定用コマンド ||
||||||<style="text-align:center">構造解析 ||
||ANSYS Multiphysics, CFX, Fluent, LS-DYNA ||16.1 ||module load ansys16.1 ||
||ABAQUS ||6.12 ||module load abaqus-6.12-3 ||
||Patran ||2013 ||module load patran-2013 ||
||||||<style="text-align:center">電磁界解析 ||
||ANSYS HFSS ||16.1 ||module load ansys.hfss16.1 ||
||||||<style="text-align:center">計算物質科学 ||
||PHASE (Serial版) ||11.00 ||module load phase-11.00-serial ||
||PHASE (Parallel版) ||11.00 ||module load phase-11.00-parallel ||
||PHASE-Viewer ||3.2.0 ||module load phase-viewer-v320 ||
||UVSOR (Serial版) ||3.42 ||module load uvsor-v342-serial ||
||UVSOR (Parallel版) ||3.42 ||module load uvsor-v342-parallel ||
||OpenMX (Serial版) ||3.6 ||module load openmx-3.6-serial ||
||OpenMX (Parallel版) ||3.6 ||module load openmx-3.6-parallel ||
||||||<style="text-align:center">計算化学 ||
||Gaussian ||09 Rev.C.01 ||module load gaussian09-C.01 ||
|| ||16 Rev.A.03 ||module load gaussian16-A.03 ||
||NWChem (Serial版) ||6.1.1 ||module load nwchem-6.1.1-serial ||
||NWChem (Parallel版) ||6.1.1 ||module load nwchem-6.1.1-parallel ||
||GAMESS (Serial版) ||2012.R2 ||module load gamess-2012.r2-serial ||
||GAMESS (Parallel版) ||2012.R2 ||module load gamess-2012.r2-parallel ||
||MPQC ||3.0-alpha ||module load mpqc-2.4-4.10.2013.18.19 ||
||Amber, AmberTools (Serial版) ||12 ||module load amber12-serial ||
||Amber, AmberTools (Parallel版) ||12 ||module load amber12-parallel ||
||CONFLEX (Serial版,Parallel版) ||7 ||module load conflex7 ||
||||||<style="text-align:center">技術処理 ||
||MATLAB ||R2013a ||module load matlab-R2013a ||

 * ANSYS, ABAQUS, Patran, GAUSSIAN, MATLABの利用には登録種別Aへの利用登録が必要です.
 * 登録種別Aの申請方法は http://imc.tut.ac.jp/research/form を参照してください.

ソフトウエアの環境設定を削除する場合は,以下のコマンドを実行してください.

{{{
$ module unload 環境設定
}}}
例えば,Gaussianの環境設定を削除する場合は以下のようにしてください.

{{{
$ module unload gaussian09-C.01
}}}
== ログイン後の環境設定方法 ==
以下のファイルを編集することで,ログイン後の環境を自動的に設定することができます.

 * shの場合: ~/.profile
 * bashの場合: ~/.bash_profile
 * cshの場合: ~/.cshrc

例1: bash を利用していて,ログイン後の環境設定として,ansys, gaussian, conflexを利用できるようにする場合,以下を ~/.bashrc に追加.

{{{
eval `modulecmd bash load ansys14.5`
eval `modulecmd bash load gaussian09-C.01`
eval `modulecmd bash load conflex7`
}}}
例2: csh を利用していて,ログイン後の環境設定として,OpenMPI, Intel Compiler, gaussian, conflexを利用できるようにする場合,以下を ~/.cshrc に追加.

{{{
eval `modulecmd tcsh unload intelmpi.intel`
eval `modulecmd tcsh load openmpi.intel`
eval `modulecmd tcsh load gaussian09-C.01`
eval `modulecmd tcsh load conflex7`
}}}
ロードしているモジュールは以下のコマンドにより確認できます.

{{{
$ module list
}}}
利用できるモジュールは以下のコマンドにより確認できます.

{{{
$ module avail
}}}
== コンパイル方法 ==
=== Intel コンパイラ ===
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ icc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ ifort ソースファイル名 -o 出力するプログラム名
}}}
=== PGI コンパイラ ===
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ pgcc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ pgf90 ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ pgf77 ソースファイル名 -o 出力するプログラム名
}}}
=== GNU コンパイラ ===
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ gcc ソースファイル名 -o 出力するプログラム名
}}}
=== Intel MPI ===
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ mpiicc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ mpiifortソースファイル名 -o 出力するプログラム名
}}}
=== OpenMPI, MPICH2, MPICH1 ===
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ mpicc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ mpif90 ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ mpif77 ソースファイル名 -o 出力するプログラム名
}}}
== ジョブ実行方法 ==
ジョブの管理のため,ジョブ管理システムTorqueを使用しています. 必ず,Torqueを利用してジョブを実行してください.

=== キュー構成 ===
 * [[WideAreaClusterSystem|広域連携教育研究用クラスタシステム]]

=== ジョブ投入方法 ===
Torque用の実行スクリプトを作成し,qsubコマンドで次のようにジョブを投入します.

{{{
$ qsub -q キュー名 実行スクリプト名
}}}
例えば,研究用キューrchqにジョブを投入する場合は次のようにします.

{{{
$ qsub -q rchq 実行スクリプト名
}}}
並列数の指定は,実行スクリプト中で次のように行います.

{{{
#PBS -l nodes=使用ノード数:ppn=1ノードあたりの並列数
}}}
例:1ノードを利用し,ノード内の並列数を16とした場合

{{{
#PBS -l nodes=1:ppn=16
}}}
例:4ノードを利用し,各ノード内の並列数を16とした場合

{{{
#PBS -l nodes=4:ppn=16
}}}
利用するメモリ容量を指定して実行したい場合は,実行スクリプト中で次のように記述します.

{{{
#PBS -l nodes=使用ノード数:ppn=1ノードあたりの並列数,mem=ジョブあたりのメモリ容量
}}}
例:1ノードを利用し,ノード内の並列数を16,ジョブあたりのメモリ容量を16GBとした場合

{{{
#PBS -l nodes=1:ppn=16,mem=16gb
}}}
利用する演算ノードを指定して実行したい場合は,次のように記述します.

{{{
#PBS -l nodes=ホストA:ppn=ホストAでの並列数+ホストB:ppn=ホストBでの並列数,・・・
}}}
例:演算ノードcsnd00,csnd01を利用し,各ノード内の並列数を16とした場合

{{{
#PBS -l nodes=csnd00:ppn=16+csnd01:ppn=16
}}}
* 演算ノードのホスト名はcsnd00~csnd27です(システム構成-ハードウェア構成 参照).

* csnd00,csnd01はTesla K20Xを搭載しています.

GPGPU搭載の演算ノードを指定して実行したい場合は,次のように記述します.

{{{
#PBS -l nodes=1:GPU:ppn=1
}}}
ジョブ実行時間を指定して実行したい場合は,次のように記述します.

{{{
#PBS -l walltime=hh:mm:ss
}}}
例:ジョブ実行時間を336時間とする場合

{{{
#PBS -l walltime=336:00:00
}}}
qsubコマンドの主なオプションを以下に示します.
||オプション ||使用例 ||意味 ||
||-e ||-e filename ||標準エラー出力の内容を指定されたファイル名に出力する.-eオプションが指定されていない場合は,qsubコマンドが実行されたディレクトリ上に作成される.その際のファイル名は“ジョブ名.eジョブ番号”になる. ||
||-o ||-o filename ||標準出力の内容を指定されたファイル名に出力する.-oオプションが指定されていない場合は,qsubコマンドが実行されたディレクトリ上に作成される.その際のファイル名は“ジョブ名.oジョブ番号”になる. ||
||-j ||-j join ||標準出力,標準エラー出力を1個のファイルにマージするかしないかの動作を指定する.<<BR>>-j oe:標準出力に標準エラー出力をマージする<<BR>>-j eo:標準エラー出力に標準出力をマージする<<BR>>-j n: 標準出力と標準エラー出力をマージしない(デフォルト) ||
||-q ||-q destination ||ジョブを投入するキューを指定する. ||
||-l ||-l resource_list ||ジョブの実行に必要なリソース資源を指定する. ||
||-N ||-N name ||ジョブ名を指定する(文字数は15文字まで).デフォルトはスクリプトでジョブが投入された場合は,スクリプトのファイル名となる.そうでない場合は,“STDIN”になる. ||
||-m ||-m mail_events ||ジョブの状態をメールで通知する指定を行う.<<BR>>-m n:メールを送信しない<<BR>>-m a:異常終了時<<BR>>-m b:処理開始時<<BR>>-m e:処理終了時 ||
||-M ||-M user_list ||メールを送信するメールアドレスを指定する. ||




==== サンプルスクリプト:Intel MPI - Intelコンパイラを使用する場合 ====

{{{

### sample
#!/bin/sh
#PBS -q rchq
#PBS -l nodes=1:ppn=16
MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`
cd $PBS_O_WORKDIR

mpirun -np $MPI_PROCS ./a.out

}}}
* ジョブの投入先(eduq, rchq)はスクリプト内でも指定できます.

==== サンプルスクリプト:OpenMPI - Intelコンパイラを使用する場合 ====

{{{

### sample
#!/bin/sh
#PBS -q rchq
#PBS -l nodes=1:ppn=16
MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

module unload intelmpi.intel
module load openmpi.intel

cd $PBS_O_WORKDIR

mpirun -np $MPI_PROCS ./a.out

}}}

* ジョブの投入先(eduq, rchq)はスクリプト内でも指定できます.

==== サンプルスクリプト:MPICH2 - Intelコンパイラを使用する場合 ====

{{{

### sample
#!/bin/sh
#PBS -q rchq
#PBS -l nodes=1:ppn=16
MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

module unload intelmpi.intel
module load mpich2.intel

cd $PBS_O_WORKDIR

mpirun -np $MPI_PROCS -iface ib0 ./a.out

}}}

* MPICH2を使用する場合は,必ず,-ifaceオプションを指定してください.

* ジョブの投入先(eduq, rchq)はスクリプト内でも指定できます.

==== サンプルスクリプト:OpenMPプログラムを利用する場合 ====

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=8
#PBS -q eduq

export OMP_NUM_THREADS=8

cd $PBS_O_WORKDIR

./a.out

}}}

==== サンプルスクリプト:MPI/OpenMPハイブリドプログラムを利用する場合 ====

{{{

### sample
#!/bin/sh
#PBS -l nodes=4:ppn=8
#PBS -q eduq

export OMP_NUM_THREADS=8

cd $PBS_O_WORKDIR

sort -u $PBS_NODEFILE > hostlist

mpirun -np 4 -machinefile ./hostlist ./a.out

}}}

==== サンプルスクリプト:GPGPUプログラムを利用する場合 ====

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:GPU:ppn=1
#PBS -q eduq

cd $PBS_O_WORKDIR

module load cuda-5.0

./a.out

}}}

=== ANSYS Multiphysicsジョブ ===
=== xxxジョブ ===
行 384: 行 39:
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

ansys145 -b nolist -p AA_T_A -i vm1.dat -o vm1.out -j vm1

}}}

*vm1.datは/common/ansys14.5/ansys_inc/v145/ansys/data/verifにあります.
xxx
行 404: 行 42:
以下に,実行スクリプト例を示します.

例:Shared Memory ANSYSを用いる場合

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=4
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

ansys145 -b nolist -p AA_T_A -i vm141.dat -o vm141.out -j vm141 -np 4

}}}

例:Distributed ANSYSを用いる場合

{{{

### sample
#!/bin/sh
#PBS -l nodes=2:ppn=2
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

ansys145 -b nolist -p AA_T_A -i vm141.dat -o vm141.out -j vm141 -np 4 -dis

}}}

*vm141.datは/common/ansys14.5/ansys_inc/v145/ansys/data/verifにあります.

=== ANSYS CFXジョブ ===
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

cfx5solve -def StaticMixer.def

}}}

*StaticMixer.defは/common/ansys14.5/ansys_inc/v145/CFX/examplesにあります.

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=4
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

cfx5solve -def StaticMixer.def -part 4 -start-method 'Intel MPI Local Parallel'

}}}

*StaticMixer.defは/common/ansys14.5/ansys_inc/v145/CFX/examplesにあります.

=== ANSYS Fluentジョブ ===
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

fluent 3ddp -g -i input-3d > stdout.txt 2>&1

}}}

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=4
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

fluent 3ddp -g -i input-3d -t4 -mpi=intel > stdout.txt 2>&1

}}}

=== ANSYS LS-DYNAジョブ ===
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load ansys14.5

cd $PBS_O_WORKDIR

lsdyna145 i=hourglass.k memory=100m

}}}

*hourglass.kはLS-DYNA Examples(http://www.dynaexamples.com/)を参照してください.

=== ANSYS HFSSジョブ ===

[[attachment:ansys-hfss-16.1-manual.pdf|ANSYS HFSS利用マニュアル]]に利用方法の詳細が説明されています。
そちらをご参照下さい。

=== ABAQUSジョブ ===
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load abaqus-6.12-3

cd $PBS_O_WORKDIR

abaqus job=1_mass_coarse

}}}

*1_mass_coarse.inpは/common/abaqus-6.12-3/6.12-3/samples/job_archive/samples.zipにあります.

=== PHASEジョブ ===
==== 並列ジョブ (phaseコマンド:SCF計算) ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -q eduq
#PBS -l nodes=2:ppn=2

cd $PBS_O_WORKDIR

module load phase-11.00-parallel
mpirun -np 4 phase

}}}

* phaseの場合、入出力ファイル一式はfile_names.dataという名前のファイルで記述されます.

* 入力ファイル一式として例えば、/common/phase-11.00-parallel/sample/Si2/scf/下のサンプルなどを利用できます.

==== シングルジョブ (ekcalコマンド:Band計算) ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -q eduq
#PBS -l nodes=1:ppn=1

cd $PBS_O_WORKDIR

module load phase-11.00-parallel
ekcal

}}}

* ekcalの場合、入出力ファイル一式はfile_names.dataという名前のファイルで記述されます.

* 入力ファイル一式として例えば、/common/phase-11.00-parallel/sample/Si2/band/下のサンプルなどを利用できます.

* (Si2/band/のサンプルを使用するには、予め../scf/のサンプルを実行してnfchgt.dataを用意しておく必要があります。).

=== UVSORジョブ ===
==== 並列ジョブ (epsmainコマンド:誘電率計算) ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -q eduq
#PBS -l nodes=2:ppn=2

cd $PBS_O_WORKDIR

module load uvsor-v342-parallel
mpirun -np 4 epsmain

}}}

* epsmainの場合、入出力ファイル一式はfile_names.dataという名前のファイルで記述されます.

* 入力ファイル一式として例えば、/common/uvsor-v342-parallel/sample/electron/Si/eps/下のサンプルなどを利用できます.

* (Si/eps/のサンプルを使用するには、予め、../scf/のサンプルを実行してnfchgt.dataを用意しておく必要があります。).

=== OpenMXジョブ ===
==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/bash
#PBS -l nodes=2:ppn=2

cd $PBS_O_WORKDIR

module load openmx-3.6-parallel
export LD_LIBRARY_PATH=/common/intel-2013/composer_xe_2013.1.117/mkl/lib/intel64:$LD_LIBRARY_PATH
mpirun -4 openmx H2O.dat

}}}

* H2O.datは/common/openmx-3.6-parallel/work/にあります.

* ただし、H2O.datに以下の一行を追加しておく必要があります.

* DATA.PATH /common/openmx-3.6-parallel/DFT_DATA11.

=== GAUSSIANジョブ ===
サンプル入力ファイル(methane.com)

{{{
%NoSave
%Mem=512MB
%NProcShared=4
%chk=methane.chk
#MP2/6-31G opt

methane

0 1
 C -0.01350511 0.30137653 0.27071342
 H 0.34314932 -0.70743347 0.27071342
 H 0.34316773 0.80577472 1.14436492
 H 0.34316773 0.80577472 -0.60293809
 H -1.08350511 0.30138971 0.27071342
}}}
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load gaussian09-C.01

cd $PBS_O_WORKDIR

g09 methane.com

}}}

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=4,mem=3gb,pvmem=3gb
#PBS -q eduq

cd $PBS_O_WORKDIR

module load gaussian09-C.01

g09 methane.com

}}}

=== NWChemジョブ ===
サンプル入力ファイル(h2o.nw)

{{{
echo
start h2o
title h2o


geometry units au
 O 0 0 0
 H 0 1.430 -1.107
 H 0 -1.430 -1.107
end

basis
  * library 6-31g**
end
scf
  direct; print schwarz; profile
end
task scf
}}}

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -q eduq
#PBS -l nodes=2:ppn=2

export NWCHEM_TOP=/common/nwchem-6.1.1-parallel
cd $PBS_O_WORKDIR

module load nwchem.parallel
mpirun -np 4 nwchem h2o.nw

}}}

=== GAMESSジョブ ===
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/bash
#PBS -q eduq
#PBS -l nodes=1:ppn=1

module load gamess-2012.r2-serial
mkdir -p /work/$USER/scratch/$PBS_JOBID
mkdir -p $HOME/scr
rm -f $HOME/scr/exam01.dat
rungms exam01.inp 00 1

}}}

* exam01.inpは/common/gamess-2012.r2-serial/tests/standard/にあります.

=== MPQCジョブ ===
サンプル入力ファイル(h2o.in)

{{{
% HF/STO-3G SCF water
method: HF
basis: STO-3G
molecule:
    O 0.172 0.000 0.000
    H 0.745 0.000 0.754
    H 0.745 0.000 -0.754
}}}

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -q rchq
#PBS -l nodes=2:ppn=2

MPQCDIR=/common/mpqc-2.4-4.10.2013.18.19

cd $PBS_O_WORKDIR

module load mpqc-2.4-4.10.2013.18.19
mpirun -np 4 mpqc -o h2o.out h2o.in

}}}

=== AMBERジョブ ===
サンプル入力ファイル(gbin-sander)

{{{
 short md, nve ensemble
 &cntrl
   ntx=5, irest=1,
   ntc=2, ntf=2, tol=0.0000001,
   nstlim=100, ntt=0,
   ntpr=1, ntwr=10000,
   dt=0.001,
 /
 &ewald
   nfft1=50, nfft2=50, nfft3=50, column_fft=1,
 /
EOF
}}}
サンプル入力ファイル(gbin-pmemd)

{{{
 short md, nve ensemble
 &cntrl
   ntx=5, irest=1,
   ntc=2, ntf=2, tol=0.0000001,
   nstlim=100, ntt=0,
   ntpr=1, ntwr=10000,
   dt=0.001,
 /
 &ewald
   nfft1=50, nfft2=50, nfft3=50,
 /
EOF
}}}

==== シングルジョブ ====
以下に,実行スクリプト例を示します.

例:sanderを用いる場合

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load amber12-serial

cd $PBS_O_WORKDIR

sander -i gbin-sander -p prmtop -c eq1.x

}}}

*prmtop, eq1.xは/common/amber12-parallel/test/4096watにあります.

例:pmemdを用いる場合

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load amber12-serial

cd $PBS_O_WORKDIR

pmemd -i gbin-pmemd -p prmtop -c eq1.x

}}}

*prmtop, eq1.xは/common/amber12-parallel/test/4096watにあります.

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

例:sanderを用いる場合

{{{

### sample
#!/bin/sh
#PBS -l nodes=2:ppn=4
#PBS -q eduq

module unload intelmpi.intel
module load openmpi.intel
module load amber12-parallel

cd $PBS_O_WORKDIR

mpirun -np 8 sander.MPI -i gbin-sander -p prmtop -c eq1.x

}}}

*prmtop, eq1.xは/common/amber12-parallel/test/4096watにあります.

例:pmemd を用いる場合

{{{

### sample
#!/bin/sh
#PBS -l nodes=2:ppn=4
#PBS -q eduq

module unload intelmpi.intel
module load openmpi.intel
module load amber12-parallel

cd $PBS_O_WORKDIR

mpirun -np 8 pmemd.MPI -i gbin-pmemd -p prmtop -c eq1.x

}}}

*prmtop, eq1.xは/common/amber12-parallel/test/4096watにあります.

=== CONFLEXジョブ ===
サンプル入力ファイル(methane.mol)

{{{
  Sample
  Chem3D Core 13.0.009171314173D

  5 4 0 0 0 0 0 0 0 0999 V2000
    0.1655 0.7586 0.0176 H 0 0 0 0 0 0 0 0 0 0 0 0
    0.2324 -0.3315 0.0062 C 0 0 0 0 0 0 0 0 0 0 0 0
   -0.7729 -0.7586 0.0063 H 0 0 0 0 0 0 0 0 0 0 0 0
    0.7729 -0.6729 0.8919 H 0 0 0 0 0 0 0 0 0 0 0 0
    0.7648 -0.6523 -0.8919 H 0 0 0 0 0 0 0 0 0 0 0 0
  2 1 1 0
  2 3 1 0
  2 4 1 0
  2 5 1 0
M END
}}}
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=1
#PBS -q eduq

c
cd $PBS_O_WORKDIR

flex7a1.ifc12.Linux.exe -par /common/conflex7/par methane

}}}

==== 並列ジョブ ====
実行スクリプトを作成しqsubコマンドよりジョブを投入します. 以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/sh
#PBS -l nodes=1:ppn=8
#PBS -q eduq

module load conflex7

cd $PBS_O_WORKDIR

mpirun -np 8 flex7a1.ifc12.iMPI.Linux.exe -par /common/conflex7/par methane

}}}

=== MATLABジョブ ===
サンプル入力ファイル(matlabdemo.m)

{{{
% Sample

n=6000;X=rand(n,n);Y=rand(n,n);tic; Z=X*Y;toc

% after finishing work
switch getenv('PBS_ENVIRONMENT')
  case {'PBS_INTERACTIVE',''}
    disp('Job finished. Results not yet saved.');
  case 'PBS_BATCH'
    disp('Job finished. Saving results.')
    matfile=sprintf('matlab-%s.mat',getenv('PBS_JOBID'));
    save(matfile);
    exit
  otherwise
    disp([ 'Unknown PBS environment ' getenv('PBS_ENVIRONMENT')]);
end
}}}
==== シングルジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/bash
#PBS -l nodes=1:ppn=1
#PBS -q eduq

module load matlab-R2012a

cd $PBS_O_WORKDIR

matlab -nodisplay -nodesktop -nosplash -nojvm -r "maxNumCompThreads(1); matlabdemo"

}}}

==== 並列ジョブ ====
以下に,実行スクリプト例を示します.

{{{

### sample
#!/bin/bash
#PBS -l nodes=1:ppn=4
#PBS -q eduq

module load matlab-R2012a

cd $PBS_O_WORKDIR

matlab -nodisplay -nodesktop -nosplash -nojvm -r "maxNumCompThreads(4); matlabdemo"

}}}

=== CASTEP/DMol3ジョブ ===
本学スパコンを利用してMaterials Studio CASTEP/DMol3を実行する場合,

① Materials Studio Visualiserからスパコンに対しジョブを投入する(Materials Studio2016のみ対応)

② 入力ファイルをWinscp等でスパコンに転送し「qsub」コマンドによりジョブを投入する

の二通りがあります.ここでは②について説明します.②で実行する場合,ジョブスケジューラに与えるパラメータを変更することができます.以下では,CASTEPを例に説明します.

'''1. Materials Studio Visualizerで入力ファイルを作成します.'''

「CASTEP Calculation」ウィンドウの「Files...」をクリックします.

{{attachment:castep_calculation.jpg}}

次に,「CASTEP Job Files」ウィンドウの「Save Files」をクリックします.

{{attachment:castep_job.jpg}}

入力ファイルは

(任意のパス)\(プロジェクト名)_Files\Documents\(上記操作において作成されたフォルダ)\

に保存されます.例えば,acetanilide.xsdに対してCASTEPによりエネルギー計算を行う場合、「(上記操作において作成されたフォルダ)」は「acetanilide CASTEP Energy」となります.

また,「(任意のパス)」は,通常,「C:\Users\(アカウント名)\Documents\Materials Studio Projects」です.

作成されるフォルダの名前にはスペースが含まれます.スペースを削除するか,”_”などで置換してください.また,フォルダ名に日本語が含まれてはいけません.

'''2. Winscp等のファイル転送ソフトを利用し,作成した入力ファイルをフォルダごと本学スパコンへ転送してください.'''

'''3. 転送したフォルダ内に下記のような実行スクリプトを作成し,「qsub」コマンドによりジョブを投入してください.'''

{{{

### sample

#!/bin/sh
#PBS -l nodes=1:ppn=8,mem=24gb,pmem=3gb,vmem=24gb,pvmem=3gb
#PBS -l walltime=24:00:00
#PBS -q rchq

MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

cd $PBS_O_WORKDIR

cp /common/accelrys/cdev0/MaterialsStudio8.0/etc/CASTEP/bin/RunCASTEP.sh .
perl -i -pe 's/\r//' *

./RunCASTEP.sh -np $MPI_PROCS acetanilide

}}}

* RunCASTEP.shの第3引数は,転送したフォルダ内のファイル名を指定してください.拡張子は必要ありません.

* 「ppn=」は,8以下,の値を指定してください.

* 経過時間制限値,メモリ利用容量制限値は必要に応じて変更できます.

* 「CASTEP Calculation」ウィンドウの”Job Control”タブにおける「Gateway location」「Queue」「Run in parallel on」の設定はコマンドライン実行に対し意味を持ちません.qsubコマンド時に利用する実行スクリプト内の設定が用いられます.

* 実行スクリプトは利用する計算機や計算モジュールにより異なります.下記の「実行スクリプト例」をご参照ください.

'''4. ジョブ終了後、計算結果ファイルをクライアントPCに転送し,Materials studio Visualizerを利用して閲覧してください.'''

'''共同利用に関する注意事項'''

Materials Studioのライセンスは,CASTEP:8本,Dmol3:8本,を所有しています.1ライセンスで8並列以下のジョブを1つ実行することができます.本ライセンスは共用です.他のユーザーと競合しないように留意の上,ご利用をお願いします.


'''実行スクリプト例'''

広域連携教育研究用クラスタシステムでMaterials Studio 8.0 CASTEPを実行する場合:

{{{

### sample

#!/bin/sh
#PBS -l nodes=1:ppn=8,mem=50000mb,pmem=6250mb,vmem=50000mb,pvmem=6250mb
#PBS -l walltime=24:00:00
#PBS -q wLrchq

MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

cd $PBS_O_WORKDIR

cp /common/accelrys/wdev0/MaterialsStudio8.0/etc/CASTEP/bin/RunCASTEP.sh .
perl -i -pe 's/\r//' *

./RunCASTEP.sh -np $MPI_PROCS acetanilide

}}}


広域連携教育研究用クラスタシステムでMaterials Studio 8.0 DMOL3を実行する場合:

{{{

### sample

#!/bin/sh
#PBS -l nodes=1:ppn=8,mem=50000mb,pmem=6250mb,vmem=50000mb,pvmem=6250mb
#PBS -l walltime=24:00:00
#PBS -q wLrchq

MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

cd $PBS_O_WORKDIR

cp /common/accelrys/wdev0/MaterialsStudio8.0/etc/DMol3/bin/RunDMol3.sh .
perl -i -pe 's/\r//' *

./RunDMol3.sh -np $MPI_PROCS acetanilide

}}}

広域連携教育研究用クラスタシステムでMaterials Studio 2016 CASTEPを実行する場合:

{{{

### sample

#!/bin/sh
#PBS -l nodes=1:ppn=8,mem=50000mb,pmem=6250mb,vmem=50000mb,pvmem=6250mb
#PBS -l walltime=24:00:00
#PBS -q wLrchq

MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

cd $PBS_O_WORKDIR

cp /common/accelrys/wdev0/MaterialsStudio2016/etc/CASTEP/bin/RunCASTEP.sh .
perl -i -pe 's/\r//' *

./RunCASTEP.sh -np $MPI_PROCS acetanilide

}}}


広域連携教育研究用クラスタシステムでMaterials Studio 2016 DMOL3を実行する場合:

{{{

### sample

#!/bin/sh
#PBS -l nodes=1:ppn=8,mem=50000mb,pmem=6250mb,vmem=50000mb,pvmem=6250mb
#PBS -l walltime=24:00:00
#PBS -q wLrchq

MPI_PROCS=`wc -l $PBS_NODEFILE | awk '{print $1}'`

cd $PBS_O_WORKDIR

cp /common/accelrys/wdev0/MaterialsStudio2016/etc/DMol3/bin/RunDMol3.sh .
perl -i -pe 's/\r//' *

./RunDMol3.sh -np $MPI_PROCS acetanilide

}}}
xxx
行 1205: 行 45:
ジョブ,キューの状態確認にはqstatコマンドを利用します.

(1) ジョブの状態表示

{{{
qstat -a
}}}
(2) キューの状態表示

{{{
qstat -Q
}}}
qstatコマンドの主なオプションを以下に示します.
||オプション ||使用例 ||意味 ||
||-a ||-a ||すべてのキューイング・実行中のジョブを表示する. ||
||-Q ||-Q ||すべてのキューの状態を簡易表示する. ||
||-Qf ||-Qf ||すべてのキューの状態を詳細表示する. ||
||-q ||-q ||キューの制限値を表示する. ||
||-n ||-n ||ジョブに割り当てた計算ノードのホスト名を表示する. ||
||-r ||-r ||実行中のジョブのリストを表示させます. ||
||-i ||-i ||非実行中のジョブのリストを表示する. ||
||-u ||-u ユーザ名 ||指定したユーザのジョブのリストを表示する. ||
||-f ||-f ジョブID ||指定したジョブIDの詳細情報を表示する. ||


xxx
行 1233: 行 48:
ジョブのキャンセルにはqdelコマンドを使用します.

{{{
qdel jobID
}}}
job IDはqstatコマンドより確認してください.
xxx

[Japanese|English]

クラスタシステムの利用方法

広域連携教育研究用クラスタシステムの利用方法について解説します.

開発環境の設定方法

xxx

ソフトウェア利用環境の設定方法

xxx

ソフトウエア名

バージョン

設定用コマンド

ログイン後の環境設定方法

xxx

コンパイル方法

xxx コンパイラ

xxx

ジョブ実行方法

xxx

キュー構成

xxx

サンプルスクリプト:xxxコンパイラを使用する場合

xxx

xxxジョブ

シングルジョブ

xxx

並列ジョブ

xxx

ジョブの状態を確認する

xxx

投入したジョブをキャンセルする

xxx