Grid Engineとはクラスタコンピューティングにおけるジョブ管理システムを担うミドルウェアです。
Grid EngineでGPUリソース管理をやってみようと思います。
NVMLを使わないので シンプルに登録したリソースを使っているか?使っていないか?だけの管理になります。
まずGrid Engineがインストールされ動作している状態から設定を追加します。
2ノード構成とします。
・node01 → GPU1枚
・node02 → GPU1枚
リソース属性を追加します。
# qconf -mc
#name               shortcut   type      relop requestable consumable default  urgency 
#--------------------------------------------------------------------------------------
gpu                 gpu        INT       <=    YES         YES        0        0    次に各ノードの環境設定に追加します。
# qconf -me node01
complex_values        gpu=1   
# qconf -me node02
complex_values        gpu=1   これで各ノードのGPU 1枚だけをGrid Engine上で管理できるはずです。
この設定でqsubしてみます。
投入スクリプトでリソース指定します。
#$ -l gpu=1qsubするとジョブ実行されました。
qstatは以下で見れます。
# qstat -F gpu以上