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

时间:2019-02-27 18:53:43

标签: linux tensorflow deep-learning gpu nvidia

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

我们正在运行tensorflow深度学习模型,如果它有助于建议替代方法。

编辑

我们尝试更改per_process_gpu_memory_fraction作为替代方案,但这似乎无济于事,并且被认为只是GPU内存的浪费。

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.6)

1 个答案:

答案 0 :(得分:1)

我很抱歉花了这么长时间回到这里回答这个问题,即使已经想出了解决方法。

使用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部门不会减慢训练过程。令人惊讶的是,至少根据我们的经验,它提供的速度与使用整个内存的速度大致相同。虽然,这可能会因高维数据而改变。