⇤ ← 2017-04-19 02:55:04時点のリビジョン1
サイズ: 34069
コメント:
|
サイズ: 33460
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 7: | 行 7: |
== ログイン方法 == /* * [[ClusterSystem|次世代シミュレーション技術教育計算機システム]]*/ * [[WideAreaClusterSystem|広域連携教育研究用クラスタシステム]] == 開発環境の設定方法 == 計算プログラムをコンパイルする場合,並列計算用 MPI やコンパイラに応じて環境変数を設定する必要があります. 例えば,並列計算用 MPI として Intel MPI を,コンパイラとして Intel コンパイラを利用したい場合は,以下のようにコマンドを実行して環境変数を設定して下さい.なお,ログイン直後はIntel MPIとIntel コンパイラが設定されています. |
== Logging In == /* * [[ClusterSystem|Computer Systems for the Next Generation Simulation Technology Education]]*/ * [[WideAreaClusterSystem|Wide-Area Coordinated Cluster System for Education and Research]] == Setting Up the Developmental Environment == To compile a program, it is necessary to set environment variables depending on the parallel processing MPI and the compiler. For example, if you plan to use an Intel MPI as the parallel computing MPI and an Intel compiler as the compiler, set the environment variables using the following commands shown below. Note that the Intel MPI and the Intel compiler are set as the session defaults. |
行 17: | 行 17: |
その他,以下の環境設定用コマンドが利用できます. ||並列計算用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コンパイラの環境へ変更する場合は,以下のようにしてください. |
You can also use the following commands to set the environment variables. ||Parallel computing MPI ||Compiler ||Environment variable setting command || ||Intel MPI ||Intel compiler ||module load intelmpi.intel || ||Open MPI ||Intel compiler ||module load openmpi.intel || ||MPICH2 ||Intel compiler ||module load mpich2.intel || ||MPICH1 ||Intel compiler ||module load mpich.intel || ||- ||Intel compiler ||module load intel || ||- ||PGI compiler ||module load pgi || ||- ||gcc compiler ||module load gcc || ||- ||nnvcc compiler ||module load cuda-5.0 || To change the environmental settings, execute the following command to delete the current settings and set the new environment variables. {{{ $ module unload environmental_settings }}} For example, if you change the Intel MPI and the Intel compiler to the Open MPI and the Intel compiler, execute as follows. |
行 42: | 行 39: |
== ソフトウェア利用環境の設定方法 == 各種ソフトウエアを利用する場合,利用するソフトウエアに応じて環境変数を設定する必要があります. 例えば,Gaussianを利用したい場合は,以下のようにコマンドを実行して環境変数を設定して下さい. |
== Setting Up the Software Usage Environment == When using software, it is necessary to change the environment variables depending on the software package to be used. For example, use the following command to set the environment variables to use Gaussian. |
行 48: | 行 45: |
その他,以下の環境設定用コマンドが利用できます. ||ソフトウエア名 ||バージョン ||設定用コマンド || ||||||<style="text-align:center">構造解析 || |
You can also use the following commands to set the environment variables. ||Software name ||Version ||Environment variable setting command || ||||||<style="text-align:center">Structural analysis || |
行 55: | 行 52: |
||||||<style="text-align:center">計算物質科学 || ||PHASE (Serial版) ||11.00 ||module load phase-11.00-serial || ||PHASE (Parallel版) ||11.00 ||module load phase-11.00-parallel || |
||||||<style="text-align:center">Computational materials science || ||PHASE (Serial version) ||11.00 ||module load phase-11.00-serial || ||PHASE (Parallel version) ||11.00 ||module load phase-11.00-parallel || |
行 59: | 行 56: |
||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">計算化学 || |
||UVSOR (Serial version) ||3.42 ||module load uvsor-v342-serial || ||UVSOR (Parallel version) ||3.42 ||module load uvsor-v342-parallel || ||OpenMX (Serial version) ||3.6 ||module load openmx-3.6-serial || ||OpenMX (Parallel version) ||3.6 ||module load openmx-3.6-parallel || ||||||<style="text-align:center">Computational Science || |
行 65: | 行 62: |
||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 || |
||NWChem (Serial version) ||6.1.1 ||module load nwchem-6.1.1-serial || ||NWChem (Parallel version) ||6.1.1 ||module load nwchem-6.1.1-parallel || ||GAMESS (Serial version) ||2012.R2 ||module load gamess-2012.r2-serial || ||GAMESS (Parallel version) ||2012.R2 ||module load gamess-2012.r2-parallel || |
行 70: | 行 67: |
||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">技術処理 || |
||Amber, AmberTools (Serial version) ||12 ||module load amber12-serial || ||Amber, AmberTools (Parallel version) ||12 ||module load amber12-parallel || ||CONFLEX (Serial version & Parallel version) ||7 ||module load conflex7 || ||||||<style="text-align:center">Technical processing || |
行 76: | 行 73: |
* ANSYS, ABAQUS, Patran, DEFORM-3D, GAUSSIAN, CHEMKIN-PRO, MATLABの利用には登録種別Aへの利用登録が必要です. * 登録種別Aの申請方法は http://imc.tut.ac.jp/research/form を参照してください. ソフトウエアの環境設定を削除する場合は,以下のコマンドを実行してください. {{{ $ module unload 環境設定 }}} 例えば,Gaussianの環境設定を削除する場合は以下のようにしてください. |
* You must be a Type A user to use ANSYS, ABAQUS, Patran, DEFORM-3D, GAUSSIAN, CHEMKIN-PRO, and MATLAB. * To apply for registration as a Type A user, see: http://imc.tut.ac.jp/research/form. To cancel the software environment, execute the following command. {{{ $ module unload environmental_settings }}} For example, to discard the Gaussian environmental setting, use the following command. |
行 92: | 行 87: |
== ログイン後の環境設定方法 == 以下のファイルを編集することで,ログイン後の環境を自動的に設定することができます. * shの場合: ~/.profile * bashの場合: ~/.bash_profile * cshの場合: ~/.cshrc 例1: bash を利用していて,ログイン後の環境設定として,ansys, gaussian, conflexを利用できるようにする場合,以下を ~/.bashrc に追加. |
== Setting Up the Session Environment == Editing the following files automatically sets up the session environment after logging in. * When using sh: ~/.profile * When using bash: ~/.bash_profile * When using csh: ~/.cshrc Example 1: To use ansys, gaussian, and conflex in your session through bash, add the following codes to ~/.bashrc. |
行 106: | 行 101: |
例2: csh を利用していて,ログイン後の環境設定として,OpenMPI, Intel Compiler, gaussian, conflexを利用できるようにする場合,以下を ~/.cshrc に追加. | Example 2: To use OpenMPI, Intel Compiler, gaussian, and conflex in your session through csh, add the following codes to ~/.cshrc. |
行 114: | 行 109: |
ロードしているモジュールは以下のコマンドにより確認できます. | The following command displays the currently loaded modules. |
行 119: | 行 114: |
利用できるモジュールは以下のコマンドにより確認できます. | The following command displays the available modules. |
行 124: | 行 119: |
== コンパイル方法 == === Intel コンパイラ === C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. {{{ $ icc ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. {{{ $ ifort ソースファイル名 -o 出力するプログラム名 |
== Compiling == === Intel Compiler === To compile a C/C++ program, execute the following command. {{{ $ icc source_file_name –o output_program_name }}} To compile a FORTRAN program, execute the following command. {{{ $ ifort source_file_name –o output_program_name |
Using Cluster Systems
This section explains the usage methods common among the Next Generation Simulation Technology Education and the Wide-Area Coordinated Cluster System for Education and Research. See the page for each system for details of specific functions.
目次
Logging In
ジョブ投入方法
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個のファイルにマージするかしないかの動作を指定する. |
-q |
-q destination |
ジョブを投入するキューを指定する. |
-l |
-l resource_list |
ジョブの実行に必要なリソース資源を指定する. |
-N |
-N name |
ジョブ名を指定する(文字数は15文字まで).デフォルトはスクリプトでジョブが投入された場合は,スクリプトのファイル名となる.そうでない場合は,“STDIN”になる. |
-m |
-m mail_events |
ジョブの状態をメールで通知する指定を行う. |
-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ジョブ
シングルジョブ
以下に,実行スクリプト例を示します.
### 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 #!/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...」をクリックします.
次に,「CASTEP Job Files」ウィンドウの「Save Files」をクリックします.
入力ファイルは
(任意のパス)\(プロジェクト名)_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
ジョブの状態を確認する
ジョブ,キューの状態確認には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コマンドより確認してください.