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

問い合わせ窓口scsc-help.pngから申請いただくことでジョブスロット上限は大規模利用アカウントまでの拡張が許可されますので 必要な方はお問い合わせください。

 

◯キュー構成について

利用する計算ノードの種別と利用期間により以下のキューを設定しています。(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のユーザマニュアルを本システムのユーザ向けページに掲示しました。(マニュアルのページ)、詳細なオプション指定などについては、こちらもご参照ください。