我们希望扩展我们的批处理系统以支持GPU计算。
问题在于从批处理系统的角度来看,GPU是一种资源。我们可以很容易地计算使用的资源,但我们还需要限制对它们的访问。
对于GPU而言,这意味着每个作业独占一个GPU(当请求GPU时)。
据我所知,共享GPU之间的作业是一个非常糟糕的想法(因为作业的GPU部分可能会被随机杀死)。
因此,我需要一些方法来限制CUDA和OpenCL的GPU访问。批处理系统具有根权限。我可以使用cgroups限制
理想状态是,作业只能看到它所请求的GPU,并且这些GPU不能被任何其他作业访问。
问题在于从批处理系统的角度来看,GPU是一种资源。我们可以很容易地计算使用的资源,但我们还需要限制对它们的访问。
对于GPU而言,这意味着每个作业独占一个GPU(当请求GPU时)。
据我所知,共享GPU之间的作业是一个非常糟糕的想法(因为作业的GPU部分可能会被随机杀死)。
因此,我需要一些方法来限制CUDA和OpenCL的GPU访问。批处理系统具有根权限。我可以使用cgroups限制
/dev/
中设备的访问,但我认为在这种情况下这不足够。理想状态是,作业只能看到它所请求的GPU,并且这些GPU不能被任何其他作业访问。
/dev/something
。这样就足够了吗? - Šimon Tóth