差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
grid_engine_設定 [2024/02/01 15:37] – suikou | grid_engine_設定 [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | # queの追加 | ||
- | |||
- | ``` | ||
- | # | ||
- | qconf -sql | ||
- | |||
- | # | ||
- | qconf -ap def_slot_back #slot 999に | ||
- | |||
- | qconf -aq back.q | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | ``` | ||
- | |||
- | back.qにデフォルトで流れないように下記を試したけど上手くいかないので元に戻した。 | ||
- | ``` | ||
- | qconf -mc | ||
- | # | ||
- | force_pe | ||
- | |||
- | qconf -mq back.q | ||
- | # | ||
- | |||
- | qconf -mp def_slot_back | ||
- | # | ||
- | allocation_rule | ||
- | |||
- | ``` | ||
- | |||
- | # def_slotの追加 | ||
- | |||
- | ``` | ||
- | qconf -ap def_slot | ||
- | // slot 999に変更 | ||
- | |||
- | #qconf -aq debug.q | ||
- | qconf -aattr queue pe_list def_slot all.q | ||
- | #qconf -aattr queue pe_list def_slot debug.q | ||
- | ``` | ||
- | |||
- | |||
- | # 各ノードのメモリー量の設定 | ||
- | |||
- | まず、グリッドエンジンでのcomplex attributeにmem_reqを追加するために、下記のように行う。 | ||
- | |||
- | qconf -mc | ||
- | |||
- | で次の行を追加する。 | ||
- | |||
- | ``` | ||
- | mem_req | ||
- | ``` | ||
- | |||
- | それから各ノードで | ||
- | |||
- | ``` | ||
- | qconf -rattr exechost complex_values mem_req=128G m128 | ||
- | ``` | ||
- | |||
- | とやってメモリー量を設定する。 | ||
- | |||
- | qsubを投げるときに、 | ||
- | |||
- | ``` | ||
- | qsub -l mem_req=30G -q all.q@m128 | ||
- | ``` | ||
- | |||
- | などとやると、最大でも4ジョブまでしかm128には入らない。ただし、メモリーを30GB以上使ったとしてもジョブをkillすることはしない。もし必要であれば、h_vmem当たりを使うとよさそう。 | ||
- | |||
- | ここで指定するmem_reqは1コア当たりのメモリ量なので、def_slotを使って複数スロットを使う場合は、mem_req x def_slot分のメモリーを予約するので注意。 | ||
- | |||
- | 仮にmem_reqを指定しない場合は、qconf -mcで設定した1Gが消費される。 | ||
- | |||
- | mem_reqのcomplex attributes設定の確認は | ||
- | |||
- | ``` | ||
- | qconf -sc | ||
- | ``` | ||
- | |||
- | ノードごとのメモリー設定量は下記で表示される。 | ||
- | |||
- | ``` | ||
- | qconf -se m8.s | ||
- | ``` | ||
- | |||
- | # GPUキューの作成 | ||
- | |||
- | ``` | ||
- | qconf -aq gpu.q | ||
- | # | ||
- | # | ||
- | # | ||
- | ``` | ||
- | |||
- | ``` | ||
- | qconf -mc # | ||
- | |||
- | #name | ||
- | # | ||
- | gpu | ||
- | ``` | ||
- | |||
- | ``` | ||
- | qconf -aattr exechost complex_values gpu=2 mem512gb | ||
- | qconf -aattr exechost complex_values gpu=2 tsukumoex | ||
- | |||
- | cd / | ||
- | git clone https:// | ||
- | chmod 755 sge-gpuprolog/ | ||
- | qconf -mq gpu.q | ||
- | |||
- | prolog | ||
- | epilog | ||
- | ``` | ||
- | |||
- | 使用するときは、 | ||
- | |||
- | ``` | ||
- | qsub -q gpu.q -l gpu=1 -pe def_slot 1 qsubsh echo a | ||
- | ``` | ||
- | |||
- | ```$CUDA_VISIBLE_DEVICES```に0, | ||
- | |||
- | # load averageが高い原因の調査 | ||
- | ``` | ||
- | ps aux -L | egrep -w " | ||
- | ``` | ||
- | |||
- | # ジョブの再実行 | ||
- | ``` | ||
- | qmod -r job_id | ||
- | ``` | ||
- | |||
- | jobがEqwになったエラーステータスを解除するだけなら | ||
- | |||
- | ``` | ||
- | qmod -cj job_id | ||
- | ``` | ||
- | |||
- | # ジョブの途中でqsubのパラメータを変更したいとき | ||
- | ``` | ||
- | 例 | ||
- | qalter -r yes job_id | ||
- | |||
- | qalter -q back.q -pe def_slot_back 4 -l mem_req=0G job_id | ||
- | ``` | ||
- | |||
- | # ホストがstates Eの時の原因表示 | ||
- | ``` | ||
- | qhost -q # | ||
- | |||
- | # | ||
- | qstat -f -explain E | ||
- | ``` | ||
- | 次のコマンドでエラーを消せる(が、原因を解決していないとジョブを投げると再びエラーに・・・) | ||
- | |||
- | ``` | ||
- | qmod -c ' | ||
- | ``` | ||
- | 原因はよくわからないけど、sge_execdをkillして、```/ | ||
- | |||
- | |||
- | # 251でホストがstates Eのときの対応 | ||
- | |||
- | ディスク不足などでエラーとなった場合 | ||
- | |||
- | ``` | ||
- | $ qstat -f | ||
- | queuename | ||
- | --------------------------------------------------------------------------------- | ||
- | all.q@m50v251n1 | ||
- | --------------------------------------------------------------------------------- | ||
- | all.q@m50v251n2 | ||
- | --------------------------------------------------------------------------------- | ||
- | all.q@m50v251n3.s | ||
- | ``` | ||
- | |||
- | ``` | ||
- | sudo su - | ||
- | source / | ||
- | qmod -c all.q@m50v251n1 | ||
- | ``` | ||
- | |||
- | とやるとエラーが消えて復旧。 | ||
- | |||
- | # schedd_job_info の有効化 (2022/7/28) | ||
- | |||
- | ``` | ||
- | qconf -msconf | ||
- | ``` | ||
- | |||
- | で、 | ||
- | |||
- | ``` | ||
- | schedd_job_info true | ||
- | ``` | ||
- | |||
- | にする。 | ||
- | |||
- | # m50vXXXに16コア分ジョブが入らない件の調査 | ||
- | |||
- | ```qhost -F```して、hc: | ||
- | |||
- | それでも、qsubの時に```-l mem_req=0G```をつけると一応流れるようにはなる。つけないとデフォルトのmem_req=1Gが設定されるため流れない。 | ||
- | |||
- | # 管理者ユーザの追加 | ||
- | |||
- | ``` | ||
- | qconf -am yoshitake | ||
- | ``` | ||
- | |||
- | # 管理者のメールアドレスの変更 | ||
- | |||
- | ``` | ||
- | qconf -mconf global | ||
- | ``` | ||
- | |||
- | # キューを一時的にOFF/ | ||
- | |||
- | ``` | ||
- | #OFF | ||
- | qmod -d back.q | ||
- | |||
- | #ON | ||
- | qmod -e back.q | ||
- | ``` | ||
- | |||
- | # rootでジョブを投げられるようにする | ||
- | |||
- | rootでジョブを投げると | ||
- | |||
- | ``` | ||
- | Unable to run job: job rejected: your user id 0 is lower than minimum user id 100 of cluster configuration | ||
- | ``` | ||
- | |||
- | となるので、 | ||
- | |||
- | ``` | ||
- | qconf -mconf | ||
- | #min_uid, min_gidを0にする | ||
- | ``` | ||