是否可以限制每个用户的最大 GPU 使用率?

Is it possible to threshold the maximum GPU usage per user?

我们已经 Ubuntu 18.04 安装了带有 RTX 2080 Ti GPU 的机器,大约有 3-4 个用户远程使用它。是否可以为每个用户提供最大的 GPU 使用阈值(比如 60%),以便其他人可以使用其余的?

我们是 运行 tensorflow 深度学习模型,如果它有助于提出替代方案。

很抱歉花了这么长时间才回来回答这个问题,即使是在找到解决方法之后。

确实可以使用 tensorflow 的 per_process_gpu_memory_fraction 来确定 GPU 使用率的阈值。 [因此我编辑了问题]

以下代码段为用户分配了 46% 的 GPU 内存。

init = tf.global_variables_initializer()

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.46)
with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) as sess:
    sess.run(init)
    ############
    #Training happens here#
    ############

目前,我们有 2 个用户同时使用同一个 GPU,没有任何问题。我们每个都分配了 46%。确保你没有让它达到 50-50%(如果你这样做会中止,核心转储错误发生)。尽量保持 300MB 左右的空闲内存。

事实上,这种 GPU 划分并没有减慢训练过程。令人惊讶的是,至少根据我们的经验,它提供的速度与使用完整内存时的速度大致相同。虽然,这可能会随着高维数据而改变。