Univa Grid Engineの使い方
Univa Grid Engineマニュアル
以下のページからダウンロードしてください。(要ログイン)
ジョブ管理システムについて
スーパーコンピュータシステムでは、Univa Grid Engine(UGE)を ジョブ管理システムとして利用しています。 Univa Grid Engineとは、旧Sun Micro Systems社が所有していたオープンソースソフトウェアであるSun Grid Engine6.2U5をから派生した商用製品で、基本的なシステム概念、ユーザコマンド体系等は Sun Grid Engineと同一です。 UGEを利用したシステムの基本的な利用方法についてはシステム利用方法をご参照ください。
◯UGEのジョブ関連上限設定について
1ユーザが同時利用可能ジョブスロット数は、以下の通りです。
設定項目 | 設定値 |
---|---|
ジョブスロット上限(一般研究用アカウント) | 300 |
ジョブスロット上限(大規模利用アカウント) | 300 |
1ユーザ当りジョブ投入上限 | 5000 |
1ユーザ当り投入タスク上限 | 75000 |
問い合わせ窓口scから申請いただくことでジョブスロット上限は大規模利用アカウントまでの拡張が許可されますので 必要な方はお問い合わせください。
◯キュー構成について
利用する計算ノードの種別と利用期間により以下のキューを設定しています。(2019年03月現在)
Phase3システム 2019年3月導入
キュー名 | ジョブスロット数 | 実行時間の上限 | 用途 | キュー指定のオプション |
---|---|---|---|---|
epyc.q | 4,224 | 62日 | 実行時間2ヶ月間で他にリソース要求が無い時 | 指定なし または -l month(デフォルト) |
intel.q | 1,472 | 62日 | Intel Xeonを使用 | -l intel または -l month -l intel |
gpu.q | 384 | 62日 | GPUを使用 | -l gpu または -l month -l gpu |
medium.q | 160 | 62日 | Medium計算ノードを使用 | -l medium または -l month -l medium |
login.q | 258 | 無期限 | ゲートウェイノードからqloginする際に利用 | |
login_gpu.q | 48 | 無期限 | GPUを使用する際にゲートウェイノードからqlogin | |
short.q | 744 | 3日 | 短時間ジョブ向け | -l short |
ジョブの投入方法、ジョブ管理システムの具体的な利用法については、システム利用方法をご参照ください。
・計算ジョブの投入
現在のバージョンのUGEでは、PATH等の環境変数はジョブ実行時の環境に引き継がれません。必要な環境変数は、ジョブスクリプト内で設定していただけますようお願いします。
計算ノードに計算ジョブを投入するには、qsubコマンドを利用します。qsubコマンドでジョブを投入する為には、投入するジョブスクリプトを作成する 必要が有ります。簡単な例ですが以下のように記述します。
#!/bin/sh #$ -S /bin/sh export PATH=${PATH}:/path/to/execfiles export LD_LIBRARY_PATH=/path/to/libfiles:${LD_LIBRARY_PATH} pwd hostname date sleep 20 date echo “to stderr” 1>&2
この時、行の先頭に、"#$"が指定されている行が、UGEへのオプション指示行になります。オプション指示行をシェルスクリプトにする、またはqsubコマンド 実行時のオプションとして指定することでUGEに動作を指示します。主なオプションとしては以下のものがあります。
指示行の記述 | コマンドラインオプション指示 | 指示の意味 |
---|---|---|
#$ -S インタプリタパス | -S インタプリタパス | コマンドインタプリタをパス指定する。シェル以外のスクリプト言語も指定可能。このオプションは指定必要 |
#$ -cwd | #$ -cwd | ジョブ実行のカレントワーキングディレクトリを指定する。これによりジョブの標準出力、エラー出力もcwd上に出力される。 指定しない場合はホームディレクトリがカレントワーキングディレクトリとなりジョブ実行される。 |
#$ -N ジョブ名 | -N ジョブ名 | ジョブの名前を指定する。この指定が無ければスクリプト名がジョブ名になる。 |
#$ -o ファイルパス | -o ファイルパス | ジョブの標準出力の出力先を指定する。 |
#$ -e ファイルパス | -e ファイルパス | ジョブの標準エラー出力の出力先を指定する。 |
qsubには上記の他にも指定可能なオプションが多数ありますので、詳細についてはシステムにログイン後"man qsub"として、qsubコマンドの オンラインマニュアルを参照して確認してください。
・ジョブ投入時のキューの選択について
ソフトウェア構成でもご説明している通り、本システムでは以下のキューを設定しています(2019年3月現在)。
キューの選択は、qsubコマンドの-lオプションで可能です。
各キューを指定して投入したい場合は下表の「キュー指定のオプション」を指定してqsubを実行してください。何も指定しなければ、
epyc.qに投入されます。
ただし、epyc.qのリソースに空きがなかった場合、Thinノードで構成された他のキュー(intel.q、gpu.q)に空きがあれば、そちらのキューに
割り当てられます。
Phase3システム 2019年3月導入
キュー名 | ジョブスロット数 | 実行時間の上限 | 用途 | キュー指定のオプション |
---|---|---|---|---|
epyc.q | 4,224 | 62日 | 実行時間2ヶ月間で他にリソース要求が無い時 | 指定なし または -l epyc |
intel.q | 1,472 | 62日 | Intel Xeonを使用 | -l intel |
gpu.q | 384 | 62日 | GPUを使用 | -l gpu -l cuda=n (nは1-4の整数) 詳細はこちらをご覧ください。 |
medium.q | 160 | 62日 | Medium計算ノードを使用 | -l medium |
login.q | 258 | 無期限 | ゲートウェイノードからqloginする際に利用 AMD CPU搭載ノードのみ |
|
login_gpu.q | 48 | 無期限 | GPU、Intel CPUを使用する際にqloginして利用 | -l gpu |
short.q | 744 | 3日 | 短時間ジョブ向け | -l short |
例えば、Thin計算ノードのintel.qにtest.shというジョブを投入したければ、以下のようにコマンドを投入します。
qsub -l intel test.sh
また、例えば、Medium計算ノードにtest.shというジョブを投入したければ、以下のようにコマンドを投入します。
qsub -l medium test.sh
但し、構成として、GPGPUを搭載しているノードは、SSDも搭載しており、SSDを搭載しているノードはHDDも搭載しているので、SSDを利用する為の キューのスロットが一杯になっていれば、ジョブはGPUのキューに流れるように設定されています。また、HDDのキューが一杯であれば、その時に投入した ジョブは、SSDのキューに投入されるように設定されています。その点ご注意ください。
・ジョブの実行上限時間の指定について
ジョブ投入時は、qsubコマンドの -l d_rt オプションおよび、-l s_rt オプションでジョブの実行上限時間を指定してください。
-l d_rt オプションおよび、-l s_rt オプションには同じ値を指定してください。
なお、-l d_rt オプションおよび -l s_rt オプションに指定できる上限値はキューの実行時間の上限までです。
ジョブの標準実行上限時間は3日であるため、-l d_rt オプションおよび -l s_rt オプションを指定しなかった場合、ジョブは3日で終了します。
●コマンド実行例
ジョブの投入時にジョブの実行上限時間に192時間(8日×24時間)を指定して実行する。( -l d_rt オプション、 -l s_rt オプションを指定して実行する。)
qsub -l d_rt=192:00:00 -l s_rt=192:00:00 test.sh
・ジョブの投入状況の確認
qsubで投入したジョブがジョブとして投入されたかを確認します。投入したジョブの状態確認にはqstatコマンドを利用します。例えばジョブが 投入されていたとすれば以下のように表示されます。
[username@at027 ~]$ qstat job-ID prior name user state submit/start at queue jclass slots ja-task-ID ------------------------------------------------------------------------------------------------------------------------------------------------ 80312 0.50000 QLOGIN username r 02/27/2019 17:42:00 login.q@at027 1 80313 0.25000 jobname username r 02/27/2019 17:44:30 epyc.q@at040 1 80314 0.25000 jobname username r 02/27/2019 17:44:35 epyc.q@at040 1 80315 0.25000 jobname username r 02/27/2019 17:44:40 epyc.q@at040 1
この時、"state"欄の文字の意味は以下のようになります。
文字 | 意味 |
---|---|
r | ジョブ実行中 |
qw | ジョブはキューで待機中 |
t | ジョブは実行ホストへ転送処理中 |
E | ジョブにエラーが発生 |
d | ジョブは削除処理中 |
また、キューの利用状況を確認したい場合は、"qstat -f"と入力します。以下のような出力が出力されます。
[username@at027 ~]$ qstat -f queuename qtype resv/used/tot. np_load arch states --------------------------------------------------------------------------------- medium.q@m01 BP 0/0/80 0.00 lx-amd64 --------------------------------------------------------------------------------- medium.q@m02 BP 0/0/80 0.00 lx-amd64 --------------------------------------------------------------------------------- medium.q@m03 BP 0/0/80 0.00 lx-amd64 --------------------------------------------------------------------------------- medium.q@m04 BP 0/0/80 0.00 lx-amd64 (中略) --------------------------------------------------------------------------------- epyc.q@at033 BP 0/0/64 0.00 lx-amd64 --------------------------------------------------------------------------------- epyc.q@at034 BP 0/0/64 0.00 lx-amd64 --------------------------------------------------------------------------------- epyc.q@at035 BP 0/0/64 0.00 lx-amd64 (中略) --------------------------------------------------------------------------------- intel.q@it003 BP 0/0/32 0.00 lx-amd64 --------------------------------------------------------------------------------- intel.q@it004 BP 0/0/32 0.00 lx-amd64 --------------------------------------------------------------------------------- intel.q@it005 BP 0/0/32 0.00 lx-amd64 --------------------------------------------------------------------------------- intel.q@it006 BP 0/0/32 0.00 lx-amd64 --------------------------------------------------------------------------------- (以下略)
これにより、どのノード(キュー)にジョブが投入されているかを判別することができます。
また、 各キューのジョブの投入状況、キューの負荷状況等、全体を把握するのには、"qstat -g c"として確認することが 出来ます。
[username@at027 ~]$ qstat -g c CLUSTER QUEUE CQLOAD USED RES AVAIL TOTAL aoACDS cdsuE -------------------------------------------------------------------------------- epyc.q 0.00 0 0 4160 4224 0 64 gpu.q 0.00 0 0 64 112 0 48 intel.q 0.00 0 0 1472 1472 0 0 login.q 0.00 1 0 383 384 0 0 login_gpu.q 0.00 0 0 48 48 0 0 medium.q 0.00 0 0 800 800 0 0 short.q 0.00 0 0 128 224 0 96
また、"qstat -j ジョブID"とすることで、ジョブの詳細情報を取得することができます。
[username@at027 ~]$ qstat -j 199666 ============================================================== job_number: 199666 jclass: NONE submission_time: 02/27/2019 17:42:00.867 owner: username uid: 9876 group: ddbj gid: 9876 supplementary group: ddbj sge_o_home: /home/username sge_o_log_name: username sge_o_path: /cm/local/apps/gcc/7.2.0/bin:/home/geadmin/UGER/bin/lx-amd64:/cm/local/apps/environment-modules/4.0.0//bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/ibutils/bin:/sbin:/usr/sbin:/cm/local/apps/environment-modules/4.0.0/bin:/home/username/.local/bin:/home/username/bin sge_o_shell: /bin/bash sge_o_workdir: /lustre8/home/username sge_o_host: gw1 account: sge stderr_path_list: NONE:NONE:/dev/null hard resource_list: d_rt=259200,mem_req=8G,s_rt=259200,s_stack=10240K,s_vmem=8G soft resource_list: epyc=TRUE,gpu=TRUE,intel=TRUE,login=TRUE mail_list: username@gw1 notify: FALSE job_name: QLOGIN stdout_path_list: NONE:NONE:/dev/null priority: 0 jobshare: 0 restart: n env_list: TERM=xterm department: defaultdepartment binding: NONE mbind: NONE submit_cmd: qlogin category_id: 4 request_dispatch_info: FALSE start_time 1: 02/27/2019 17:42:00.884 job_state 1: r exec_host_list 1: at027:1 granted_req. 1: mem_req=8.000G usage 1: wallclock=01:00:01, cpu=00:00:00, mem=0.00000 GBs, io=0.00000 GB, iow=0.000 s, ioops=0, vmem=N/A, maxvmem=N/A scheduling info: -
また、実行状況を確認していて、ジョブの状況が異常でジョブの終了を待たずにただちに削除したい場合はqdelコマンドを使用します。 "qdel ジョブID"とします。自分が投入しているジョブをすべて削除したい場合は、"qdel -u ユーザ名"とすることで実行可能です。
・結果の確認
ジョブの結果は、ファイル名がジョブ名.oジョブIDのファイルににジョブの標準出力、ファイル名がジョブ名.eジョブIDのファイルにジョブの標準エラー出力 が出力されています。ファイルをご確認ください。また実行したジョブがどのぐらいのリソースを利用したか等の詳細情報については、qacctコマンドで確認することができます。
[username@at027 ~]$ qacct -j 199666 ============================================================== qname intel.q hostname it003 group lect owner username project NONE department defaultdepartment jobname jobscript.sh jobnumber XXXXX taskid undefined pe_taskid NONE account sge priority 0 cwd NONE submit_host at027 submit_cmd qsub -l intel jobscript.sh qsub_time 02/27/2019 18:49:09.854 start_time 02/27/2019 18:49:15.069 end_time 02/27/2019 18:49:35.128 granted_pe NONE slots 1 failed 0 deleted_by NONE exit_status 0 ru_wallclock 20.059 ru_utime 0.016 ru_stime 0.034 ru_maxrss 10220 ru_ixrss 0 ru_ismrss 0 ru_idrss 0 ru_isrss 0 ru_minflt 9181 ru_majflt 2 ru_nswap 0 ru_inblock 344 ru_oublock 32 ru_msgsnd 0 ru_msgrcv 0 ru_nsignals 0 ru_nvcsw 108 ru_nivcsw 18 wallclock 20.108 cpu 0.051 mem 0.001 io 0.000 iow 0.000 ioops 1277 maxvmem 228.078M maxrss 0.000 maxpss 0.000 arid undefined jc_name NONE bound_cores NONE
◯MPIジョブの投入方法
すべての計算ノードは、UGEの管理下に有る為MPIジョブ起動時にはMPI環境とUGEを連携させる必要が有ります。 MPIプログラムとUGEを連携させる為の環境としてparallel environment(PE)という環境をUGEに設定しておりこれを利用して ジョブを投入して頂きます。本システム上では以下の種類のPEを設定しています。
PE名 | 設定されたPEの意味(スロットの割り当てポリシー) |
---|---|
mpi | 極力多数のノード上に子プロセスを起動しようとする。 |
mpi-fillup | 極力少数のノードに子プロセスを充填して起動しようとする。 |
mpi_4 | 1ノード当り4プロセスを起動するようにする。 |
mpi_8 | ノード当り8プロセスを起動しようとする。 |
プロセスのメモリ使用量など、計算資源の利用状況を検討した上で、上のPEから利用したい環境を選択します。 選択したら、それをジョブスクリプトに"-pe pe環境名 並列数"という形式で記述します。
#$ -S /bin/bash #$ -N Ray #$ -pe mpi-fillup 60-80 /usr/local/bin/mpirun -np $NSLOTS -machinefile $TMPDIR/machines /home/username/Ray-1.7/Ray \ -p /home/username/scratch/SRR033552_1.fastq /home/username/scratch/SRR033552_2.fastq \ -p /home/username/scratch/SRR033553_1.fastq /home/username/scratch/SRR033553_2.fastq \ (以下略)
MPIプログラムを起動する時、プログラムをどのくらいの並列数で起動するかを指定する並列数と、どのホストに 起動するかを定義するマシンファイルをmpirunコマンドに渡す必要が有ります。 UGE環境下では指示行に-peを指定すると、UGEが指定されたポリシーに適合する空いているノード(ジョブスロット)を確認し、 並列数($NSLOTS)とマシンファイル($TMPDIR/machines)を自動生成し、これをジョブスクリプトに与えます。 上記の例では、並列数を範囲指定しています。範囲指定をした場合、指定した範囲の中で空いているスロット数 をUGEが判別し、並列数とマシンファイルを自動生成します。
・ジョブの使用メモリ量を指定してジョブを投入する方法
ジョブ管理システムに投入されるジョブが利用可能な仮想メモリ容量は、デフォルトでは8GBに制限されています。 この制限を超えるような仮想メモリ容量を要求するようなジョブは、ジョブ投入時に明示的に必要な仮想メモリ容量を 要求して投入します。以下のように"-l"オプションで指定してジョブを投入します。
[username@at027 ~]$ qsub -l s_vmem=8G -l mem_req=8G test.sh
この例では1ジョブで8GBのメモリの使用を要求してジョブを投入しています。ここで指定している"s_vmem"、"mem_req"は 以下の意味を持ちます。
項目名 | 意味 |
---|---|
s_vmem | 投入ジョブが指定する仮想メモリの上限値を宣言する。ここで宣言した値はジョブの実行環境に適用され、 この値を超えてジョブが動作しようとするとジョブがkillされる。 |
mem_req | 使用するメモリの量を宣言する。 |
また例えば、Mediumノード上で 1ジョブで128GBのメモリを使用するジョブを投入する場合は、
[username@at027 ~]$ qsub -l s_vmem=128G -l mem_req=128G -l medium test.sh
というようにメモリを明示的に要求してジョブを投入します。
・マルチスレッド動作、複数プロセスを起動するジョブの投入方法について
プロセスとしては1つだが、マルチスレッド動作をしてCPUコアを複数使うようなプログラムや、MPI並列プログラムでは ないが親プロセスが子プロセスを複数起動して処理を行うようなプログラムの為に、"def_slot"という PEを定義しています。以下のように、def_slotの後に利用するコア数(スロット数)を指定します。
qsub -pe def_slot 4 test.sh
・マルチスレッド、MPI並列動作をするジョブに対して、メモリ要求量を明示する場合の注意事項
メモリ要求を明示するジョブ投入方法と、PE環境を併用する場合の注意点についてご説明します。MPI並列環境(mpi)、スレッド並列環境(def_slot) を指定して、かつ、-l s_vmem、-l mem_reqを指定した場合、並列環境で指定した並列数と指定したメモリ量が掛け合わされた容量のメモリをシステム に要求してジョブが投入されます。例えば、
-pe def_slot 8 -l s_vmem=8G -l mem_req=8G -pe mpi_fillup 8 -l s_vem=8G -l mem_req=8G
と指定した場合、8GBのメモリを使用するプロセスを8個起動することを指定した意味となり、ジョブが使用するメモリ総量として8×8=64GBを指定したことになります。 その点について注意した上で指定する要求メモリ量を決定してください。
・アレイジョブの投入方法
UGEはアレイジョブと呼ばれる概念を持ちます。 一度に多数のジョブをシステムに投入したい場合(パラメトリックスタディでパラメータを変えながらジョブを投げたい場合) はアレイジョブ機能を利用してください。決して、多数のジョブをそのまま投入しようとしないでください。システムを過負荷に陥れる場合があります。
例えば以下のように-tオプションを指定して投入します。 "-t 1-6:2"は、最小インデックス番号を1、最大インデックス番号を6とし、それに対して":2"を付加することで、1つ飛ばしのインデックス 番号を付けることを指定しています。この為、インデックス番号としては、1,3,5が指定されたことになります。これはqstatの出力の 各行の末尾に、タスクIDとして参照が可能となっています。
[username@at027 ~]$ qsub -t 1-6:2 arraytest.sh Your job-array 10000.1-6:2 ("arraytest.sh") has been submitted [username@at027 ~]$ qstat job-ID prior name user state submit/start at queue jclass slots ja-task-ID ----------------------------------------------------------------------------------------------------------------------------- 10000 0.25000 arraytest. username r 03/04/2019 20:31:57 epyc.q@at095 1 1 10000 0.25000 arraytest. username r 03/04/2019 20:31:57 epyc.q@at095 1 3 80430 0.25000 arraytest. username r 03/04/2019 20:31:57 epyc.q@at095 1 5
タスクIDは、ジョブスクリプト内で、SGE_TASK_IDという変数によって参照可能です。この為、アレイジョブ内の各タスクは、 SGE_TASK_IDの値を確認してそれぞれ異なる処理を行う。ということが可能です。例えばパラメトリックスタディをしたい場合、 ジョブスクリプト内で、SGE_TASK_IDを参照して、入力データを分割して切り替えるという処理を記述することによって対応することが 可能になります。
・GPUを使用するジョブの投入方法
GPUを使用するジョブを投入する場合、"-l gpu"オプションの他"-l cuda=n"(nは使用するGPU数を指定。上限は4)オプションを付与します。"-l cuda=n"オプションを付与しない場合、ジョブはgpu.qに投入されますが、GPUは使用できません。
例えば2つのGPUを使用する場合、以下のように指定します。
[username@at027 ~]$ qsub -l gpu -l cuda=2 gputest.sh Your job 10000 ("gputest.sh") has been submitted
GPUはジョブから、"cuda=n"で指定した数だけ参照可能です。
[username@at027 ~]$ cat gputest.sh #!/bin/bash #$ -S /bin/bash nvidia-smi [username@at027 ~]$ qsub -l gpu -l cuda=1 gputest.sh Your job 10001 ("gputest.sh") has been submitted [username@at027 ~]$ qsub -l gpu -l cuda=2 gputest.sh Your job 10002 ("gputest.sh") has been submitted [username@at027 ~]$ qsub -l gpu -l cuda=4 gputest.sh Your job 10003 ("gputest.sh") has been submitted [username@at027 ~]$ cat gputesh.sh.o10001 Wed Mar 4 20:00:00 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.26 Driver Version: 410.66 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:15:00.0 Off | 0 | | N/A 32C P0 39W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ [username@at027 ~]$ cat gputesh.sh.o10002 Wed Mar 4 20:00:00 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.26 Driver Version: 410.66 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:15:00.0 Off | 0 | | N/A 29C P0 39W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:16:00.0 Off | 0 | | N/A 30C P0 39W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ [username@at027 ~]$ cat gputesh.sh.o10003 Wed Mar 4 20:00:00 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.26 Driver Version: 410.66 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:15:00.0 Off | 0 | | N/A 32C P0 38W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:16:00.0 Off | 0 | | N/A 32C P0 39W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 2 Tesla V100-SXM2... On | 00000000:3A:00.0 Off | 0 | | N/A 30C P0 39W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 3 Tesla V100-SXM2... On | 00000000:3B:00.0 Off | 0 | | N/A 31C P0 37W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
・クラスタ全体の混雑状況の確認方法
各キューのジョブの投入状況、キューの負荷状況等、全体を把握するのには、"qstat -g c"として確認することが 出来ます。
[username@at027 ~]$ qstat -g c CLUSTER QUEUE CQLOAD USED RES AVAIL TOTAL aoACDS cdsuE -------------------------------------------------------------------------------- epyc.q 0.00 1 0 4159 4224 0 64 gpu.q 0.00 0 0 64 112 0 48 intel.q 0.00 0 0 1472 1472 0 0 login.q 0.00 4 0 380 384 0 0 login_gpu.q 0.00 0 0 48 48 0 0 medium.q 0.00 0 0 800 800 0 0 short.q 0.00 0 0 128 224 0 96
・ジョブの実行結果の確認方法
ジョブ実行終了後、そのジョブが使用したリソース量等の情報を確認するには"qreport"コマンドを使用します("qacct"コマンドでも確認できますが、可能な限り"qreport"コマンドをご利用願います)。
[username@at027 sh]$ qreport -j 80431 ============================================================== owner username jobnumber 100000 taskid 1 slots 1 pe_taskid NONE granted_pe NONE exit_status 0 failed 0 qname epyc.q hostname at095 jobname jobname qsub_time 20YYMMDD-HH:50:54 start_time 20YYMMDD-HH:50:57 end_time 20YYMMDD-HH:51:57 ru_wallclock 0.15 cpu 0.1 mem 0.0 maxvmem 0.0G r_mem 8.000G r_q NONE r_cpu NONE
GUIでジョブを投入したい場合
qmonというコマンドがあります。詳細については、"man qmon"でオンラインマニュアルを確認して下さい。
その他の詳細について
UGEのユーザマニュアルを本システムのユーザ向けページに掲示しました。(マニュアルのページ)、詳細なオプション指定などについては、こちらもご参照ください。