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

 

3と63のリビジョン間の差分 (その間の編集: 60回)
2015-02-26 07:48:12時点のリビジョン3
サイズ: 28145
編集者: jn002
コメント:
2025-08-20 03:17:41時点のリビジョン63
サイズ: 0
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
## page was renamed from Usage
= クラスタシステムの利用方法 =

[[../ClusterSystem|次世代シミュレーション技術教育計算機システム]]と[[../WideAreaClusterSystem|広域連携教育研究用クラスタシステム]]に共通する利用方法について解説します.
各システムの個別情報については,それぞれのシステムのページを確認してください.

<<TableOfContents(maxdepth=3)>>

== ログイン方法 ==

 * [[../ClusterSystem|次世代シミュレーション技術教育計算機システム]]
 * [[../WideAreaClusterSystem|広域連携教育研究用クラスタシステム]]

== 開発環境の設定方法 ==

計算プログラムをコンパイルする場合,並列計算用 MPI やコンパイラに応じて環境変数を設定する必要があります.
例えば,並列計算用 MPI として Intel MPI を,コンパイラとして Intel コンパイラを利用したい場合は,以下のようにコマンドを実行して環境変数を設定して下さい.なお,ログイン直後はIntel MPIとIntel コンパイラが設定されています.
{{{
$ 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||


開発環境を切り替える際には,以下のコマンドを実行し既存の環境設定を削除した後,新しい開発環境を設定します.
{{{
$ module unload 環境設定
}}}

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

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

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

その他,以下の環境設定用コマンドが利用できます.
||ソフトウエア名||バージョン||設定用コマンド||
||||||構造解析||
||ANSYS Multiphysics, CFX, Fluent, LS-DYNA||14.5||module load ansys14.5||
||ABAQUS||6.12||module load abaqus-6.12-3||
||Patran||2012.2||module load patran-2012.2||
||DEFORM-3D||10.2||module loadd deform-3d-10.2||
||||||計算物質科学||
||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||
||||||計算化学||
||Gaussian||09 Rev.C.01||module load gaussian09-C.01||
||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, Amber''''''Tools (Serial版)||12||module load amber12-serial||
||Amber, Amber''''''Tools (Parallel版)||12||module load amber12-parallel||
||CONFLEX (Serial版,Parallel版)||7||module load conflex7||
||||||技術処理||
||MATLAB||R2012a||module load matlab-R2012a||

 *ANSYS, ABAQUS, Patran, DEFORM-3D, GAUSSIAN, CHEMKIN-PRO, 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 に追加.
{{{
modulecmd bash load ansys14.5
modulecmd bash load gaussian09-C.01
modulecmd bash load conflex7
}}}

例2: csh を利用していて,ログイン後の環境設定として,OpenMPI, Intel Compiler, gaussian, conflexを利用できるようにする場合,以下を ~/.cshrc に追加.
{{{
modulecmd tcsh unload intelmpi.intel
modulecmd tcsh load openmpi.intel
modulecmd tcsh load gaussian09-C.01
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を利用してジョブを実行してください.

=== キュー構成 ===

 * [[../ClusterSystem|次世代シミュレーション技術教育計算機システム]]
 * [[../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
#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ジョブ ===
==== シングルジョブ ====
以下に,実行スクリプト例を示します.
{{{
### 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にあります.

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

例: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/)を参照してください.

=== 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

#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"
}}}

== ジョブの状態を確認する ==

ジョブ,キューの状態確認には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の詳細情報を表示する.||



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

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

{{{
qdel jobID
}}}

job IDはqstatコマンドより確認してください.