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