どのようにすれば良いでしょうか?
プログラム中から cudaMemGetInfo 関数
https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__MEMORY.html
を呼ぶことで、デバイスメモリの総容量と空き容量を取得することができます。
Python から呼び出すことも可能です。
https://nvidia.github.io/cuda-python/module/cudart.html#cuda.cudart.cudaMemGetInfo
同じ計算ノードに別のジョブを投入して、そのジョブから nvidia-smi を実行しても、先に走っていたジョブが使用しているGPUの情報を得ることはできません。
実行中のジョブからはそのジョブに割り付けられたGPUしか見えず、1つのGPUが同時に2つ以上のジョブに割り付けられることは無いためです。
(最終更新日 2024年以前)