我有一个16 GPU内存的NVIDIA GPU。我必须运行两个不同的(独立的;意味着两个不同的问题) Python程序:一个是vision类型的任务,另一个是NLP任务)。代码是用PyTorch编写的,两个代码都可以使用图形处理器。
我已经测试过,程序1大约需要5 5GB的GPU内存,其余的都是免费的。如果我运行这两个程序,会不会影响模型的性能,或者会导致任何进程冲突?
Linked question; but it does not necessarily mean PyTorch codes
发布于 2020-12-22 07:17:11
我不知道这是如何工作的细节,但我可以从经验中看出,这两个程序都会运行得很好(只要它们合并起来不需要超过16 of的RAM ),并且执行时间应该大致相同。
然而,计算机视觉通常需要大量的IO (主要是读取图像),如果另一个任务也需要读取文件,这一部分可能会比单独运行两个程序时变慢。
发布于 2020-12-23 00:51:20
它应该工作得很好。
在我的一个项目中,我在处理多个模型时遇到了GPU内存不足的问题。加载它们后,我的模型通常会占用大部分GPU内存。在模型推理期间,用于数据的内存非常少。正如我们所知,如果您的模型加载到GPU上,那么您也需要将数据加载到GPU上。因此,当你进行批量推理时(例如,一次给模型16张图片),整个批次都会加载到GPU上。这也需要更多的GPU内存。如果你的程序没有获得足够的GPU内存,它就会崩溃。
如果您认为GPU内存在您的情况下不是问题所在,那么一切都应该正常工作。您也不需要担心冲突,因为两个进程都将分配自己的GPU内存,并且将独立工作。不会有性能问题。
https://stackoverflow.com/questions/65399566
复制相似问题