English versionもあります。
sshの公開鍵と秘密鍵のペアを最初に作成しておきます。作成方法が不明な方はインターネットなどで調べてください。
クイックスタートガイドのページにも情報があります。
CPU点数は、CPUやGPUを使うことによって減ります。
減る点数はシステム毎に設定されているCPUキュー係数とGPUキュー係数により求められます。
システム | CPUキュー係数 | GPUキュー係数 |
---|---|---|
cclx (jobtype=large) |
42 / (点/(1ノード * 1時間)) | - |
cclx (jobtype=small) |
28 / (点/(1ノード * 1時間)) | - |
cclx (jobtype=core) |
1.0 / (点/(1コア * 1時間)) | - |
cclx (jobtype=gpu, gpup) |
1.0 / (点/(1コア * 1時間)) | 10 / (点/(1GPU * 1時間)) |
cclx (jobtype=gpuv) |
1.0 / (点/(1コア * 1時間)) | 15 / (点/(1GPU * 1時間)) |
現在の使用CPU点数、残りのCPU点数を知るためには、showlim -cコマンドを使います。
システム | キュー名 |
演算ノード |
メモリー | 1ジョブの 制限 |
グループ実行制限 | グループサブミット制限 | ||||
---|---|---|---|---|---|---|---|---|---|---|
割当点数 | コア数/GPU数 | 割当点数 | ジョブ数 | |||||||
cclx | PN (jobtype=large) |
ccnf | 18.8GB/core | 1〜10ノード (40〜400コア) |
300万点以上 100万点以上 30万点以上 10万点以上 10万点未満 |
4000/72 2560/48 1600/30 960/18 320/12 |
300万点以上 100万点以上 30万点以上 10万点以上 10万点未満 |
4000 2560 1600 960 320 |
||
cclx | PN (jobtype=small) |
ccnn ccnf |
4.4GB/core | 1~32ノード (40〜1280コア) |
||||||
cclx | PN (jobtype=core) |
cccc ccca |
4.8GB/core | 1〜36コア | ||||||
cclx | PN (jobtype=gpu, gpup) |
ccca | 7.3GB/core | 1〜48GPU 2〜24コア/ノード(2GPU/ノード) 1〜12コア/ノード(1GPU/ノード) |
||||||
cclx | PN (jobtype=gpuv) |
ccca | 7.3GB/core | 1〜8GPU 1〜3コア/GPU(単一ノード限定) |
キューの設定は下記の通りです。
システム | キュー名 | 制限時間 | メモリー | 1ジョブあたりのコア数 | グループ制限 |
---|---|---|---|---|---|
cclx | 専有利用 | 7日間単位 | 4.4GB/core | 応相談 | 許可されたコア数 |
ccfep% jobinfo -h cclx [-c] [-s] [-l|-m|-w [-g|-a]] [-n]
もしくは
ccfep% jobinfo -q (PN|PNR[0-9]) [-c] [-s] [-l|-m|-w [-g|-a]] [-n]
利用中/キュー待ち中/ホールド中ジョブの数やCPU数、GPU数を表示します。
ccfep% jobinfo -h cclx
専有利用キュー等の特殊キューの利用がなければ、以下のコマンドでも同じ情報が得られます。
ccfep% jobinfo -q PN
上記コマンドに -c オプションをつけると最新の情報が得られます。ただし、表示に少し時間がかかります。
ccfep% jobinfo -h cclx -l
専有利用等がなければ、
ccfep% jobinfo -q PN -l
で情報が得られます。投入直後のジョブがすぐに実行されたか知りたい場合には以下のように -c オプションを追加して下さい。
ccfep% jobinfo -q PN -c -l
以下のように -l に加えて -g オプションを追加した場合にはご自身のジョブに加えて、同一グループのジョブも表示されます。
ccfep% jobinfo -q PN -g -l -c
-a オプションを追加した場合には全ユーザーのジョブが表示されます。ただし、自分以外の情報は隠蔽されます。
どこでジョブを実行したのかがわからなくなった場合には -w オプションを追加することで、
ジョブの作業ディレクトリ(PBS_O_WORKDIR)を表示するを表示することもできます。
ccfep% jobinfo -q PN -w
(-c を追加することも可能です。)
下記の2つの方法があります
以下はjsubを使ってジョブを投入する方法です
ジョブの投入には、バッチスクリプトが必要です。その際、バッチコマンドをスクリプトの最初に記述しなければなりません。
意味 | ヘッダー部 | 重要度 |
---|---|---|
第一行目 | (csh の場合) #!/bin/csh -f (bash の場合) #!/bin/sh (zsh の場合) #!/bin/zsh |
必須 (どれか一つ) |
使用CPU数 | #PBS -l select=[Nnode:]ncpus=Ncore:mpiprocs=Nproc:ompthreads=Nthread:jobtype=Jobtype[:ngpus=Ngpu] | 必須 |
時間制限 | #PBS -l walltime=72:00:00 | 必須 |
ジョブの開始前後に メールで通知 |
#PBS -m abe | オプション |
ジョブの再実行抑止 |
#PBS -r n |
オプション |
バッチジョブ投入 ディレクトリへの移動 |
cd ${PBS_O_WORKDIR} | 推奨 |
#PBS -l select=2:ncpus=40:mpiprocs=40:ompthreads=1:jobtype=small
|
#PBS -l select=1:ncpus=6:mpiprocs=1:ompthreads=1:jobtype=gpu:ngpus=1 |
こちらのページにもいくつかサンプルがあります。
バッチスクリプトが準備できたら、下記のようにジョブを投入します。
ccfep% jsub -q (PN|PNR[0-9]) [-g XXX] [-W depend=(afterok|afterany):JOBID1[:JOBID2...]] script.csh
計算物質科学スパコン共用事業利用枠としてジョブ投入する場合は、-gオプションをつけます。(XXXは計算物質科学スパコン共用事業利用枠のグループ名)
ジョブの依存関係を-Wオプションで設定できます。正常終了後に実行させる場合はafterok、異常終了後でも実行させる場合はafteranyを指定します。依存関係のあるジョブIDをコロンで区切って指定します。
バッチスクリプトのサンプルは、ccfep:/local/apl/lx/アプリケーション名/samples/にあります。
--step もしくは --stepany オプションをつけることで、比較的簡単にジョブを順番に実行することができます。
ccfep% jsub -q (PN|PNR[0-9]) [-g XXX] --step [-W depend=(afterok|afterany):JOBID1[:JOBID2...]] script.csh script2.csh ...
ccfep% jsub -q (PN|PNR[0-9]) [-g XXX] --stepany [-W depend=(afterok|afterany):JOBID1[:JOBID2...]] script.csh script2.csh ...
実行例:
ccfep% jsub -q PN --stepany job1.csh job2.csh job3.csh
あらかじめjobinfoコマンドで、取り消したいジョブのRequest IDを調べておきます。その後、
ccfep% jdel [-h cclx] RequestID
とします。
キュー待ち状態のジョブを実行されないように留めておく(ホールドする)ことができます。
あらかじめjobinfoコマンド等でジョブIDを調べておいた上で以下のコマンドを実行することでジョブをホールドできます。
ccfep% jhold [-h cclx] RequestID
ホールドしたジョブを解放するには、
ccfep% jrls [-h cclx] RequestID
とします。
ジョブの終了日時、経過時間、並列化効率の情報をjobeffコマンドで得ることができます。
ccfep% jobeff -h (cclx|cck|ccpg|ccuv) [-d "last_n_day"] [-a] [-o item1[,item2[,...]]]
表示される項目を-oオプションを使ってカスタマイズすることができます。itemには次のキーワードを指定することができます。
ccfep% jobeff -h cclx -d 10 -o jobid,user,start,finish,point
ccfep% jobeff -h cclx -y 2020 -o jobid,finish,point,Workdir
(all は点数(point)を表示しません。点数を表示したい場合は他の例を参照下さい)
ccfep% jobeff -h cclx -d 2 -o all
システム | 言語 | 非並列 | 自動並列 | OpenMP | MPI |
---|---|---|---|---|---|
cclx (Intel) |
Fortran | ifort | ifort -parallel | ifort -qopenmp | mpiifort |
C | icc | icc -parallel | icc -qopenmp | mpiicc | |
C++ | icpc | icpc -parallel | icpc -qopenmp | mpiicpc | |
cclx (PGI) |
Fortran | pgfortran | pgfortran -Mconcur | pgfortran -mp | |
C | pgcc | pgcc -Mconcur | pgcc -mp | ||
C++ | pgcpp | pgcpp -Mconcur | pgcpp -mp |
各種ライブラリ、MPI環境等の導入状況についてはパッケージプログラム一覧のページをご覧下さい。
ジョブスクリプト中、select 行で MPI プロセスの数を mpiprocs に、OpenMP のスレッド数を ompthreads に正しく設定して下さい。
例: 合計 12 CPU で 4 MPI プロセス、3 OpenMP スレッドの場合は ncpus=12:mpiprocs=4:ompthreads=3 となります。
センター側で導入したアプリケーションのサンプル( /local/apl/(システム名)/(アプリ名)/samples 以下に有り)も参考にして下さい。
jsub で実行する場合、ompthreads で指定した値が自動的に指定されます。
スクリプト内で OMP_NUM_THREADS 環境変数で手動指定しても問題ありません。
当然ですが、jsub で実行しない場合(フロントエンドノードでのテスト場合等)は OMP_NUM_THREADS 環境変数を設定する必要があります。
jsub で実行する場合、MPI が使うホストリストのファイル名が PBS_NODEFILE 環境変数に入ります。
センター側で導入している MPI 環境(Intel MPI, OpenMPI)ではこの環境変数を自動的に読み込むため、
いわゆる machine file 指定を省略して実行できます。
例: 4 MPI * 3 OpenMP ハイブリッド並列の例
#!/bin/sh
#PBS -l select=1:ncpus=12:mpiprocs=4:ompthreads=3:jobtype=core
#PBS -l walltime=24:00:00
cd $PBS_O_WORKDIR
mpirun -np 4 /some/where/my/program options
一部コマンドライン版も使えますが、一般的にはX Window版の方が使いやすいです。
2018年7月よりEnvironment Modules(moduleコマンド)の利用も可能です。詳細については、こちらのページをご覧ください。
下記の項目を全てご記入の上、rccs-admin[at]ims.ac.jp宛(迷惑メール対策のため、@を[at]に置換しています)に送信してください。
有料ソフトウェアの場合、導入できないことがあります。
jobinfo, jsub, jdel, jhold, jrls, jobeff については上に説明があります。
ccfep% g16sub [-q "QUE_NAME"] [-j "jobtype"] [-g "XXX"] [-walltime "hh:mm:ss"] [-noedit] \
[-rev "g16xxx"] [-np "ncpus"] [-ngpus "n"] [-mem "size"] [-save] [-mail] input_files
ccfep% g16sub -rev g16c01 -walltime 24:00:00 -np 12 my_gaussian_input.gjf
ccfep にある waitest コマンドで実行開始時間が予測できます。詳細についてはこちらのページ(要ログイン)をご覧下さい。
ccfep% showlim (-cpu|-c|-disk|-d) [-m]
ccfep% showlim -c
ccfep% showlim -c -m
ccfep% showlim -d -m
/local/apl/lx/ps_walltime -d duration -- command [arguments...]
/local/apl/lx/jobstatistic
remshコマンドを使うと、演算ノードのramdiskのようにフロントエンド(ccfep)から直接アクセスできないファイルへアクセスできます。
remsh hostname command options
remsh ccnnXXX ls /ramd/users/zzz
remsh ccnnXXX cat /ramd/users/zzz/99999/fort.10 | tail
ジョブを実行しているノード名はjobinfoコマンドより確認できます。
https://ccportal.ims.ac.jp/contact
をご参照下さい。