给定一个GPU池,我们通过检查GPU上是否没有运行进程来检查GPU是否空闲。
问题是,我们的过程不需要立即GPU。因此,有可能两个进程分配相同的GPU。
是否可以为特定进程锁定/保留GPU?通过壳牌?
GPU应该只能被运行的进程使用,直到它完成,然后GPU应该是免费的。
发布于 2020-06-25 16:13:03
假设GPU是一个Nvidia (由标签推断),它的答案类似于:https://stackoverflow.com/a/50056586/6857772
回答你的问题
sudo nvidia-smi -c 3
将设备置于独占计算模式,只允许单个进程在设备上创建上下文。
请注意,流程本身必须实际创建上下文,最好是在启动时,这样才能有效。如何做到这一点取决于流程本身以及它用于与CUDA接口的API系列(即运行时或驱动程序API,或构建在运行时或驱动程序API之上的某种抽象级别)。另一个进程无法代表GPU进程执行此操作。
https://stackoverflow.com/questions/62573322
复制相似问题