GPU 計算をサポートするためにバッチ システムを拡張したいと考えています。
問題は、バッチ システムの観点からは、GPU がリソースであることです。使用済みリソースを簡単に数えることはできますが、それらへのアクセスを制限する必要もあります。
GPU の場合、各ジョブが GPU を排他的に要求することを意味します (GPU が要求された場合)。
私が聞いたところによると、ジョブ間で GPU を共有することは非常に悪い考えです (ジョブの GPU 部分がランダムに強制終了される可能性があるため)。
したがって、CUDA と OpenCL の GPU へのアクセスを制限する何らかの方法が必要です。バッチ システムには root 権限があります。/dev/
使用中のデバイスへのアクセスを制限することはできますがcgroups
、この場合、これでは十分ではないと考えました。
理想的な状態は、ジョブが要求した数の GPU のみを認識し、他のジョブがこれらの GPU にアクセスできない場合です。