小编mus*_*ser的帖子

在 GPU 上运行多个进程时的内存问题

这个问题可以与我的另一个问题相关查看。

我尝试并行运行多个机器学习进程(使用 bash)。这些是使用 PyTorch 编写的。在一定数量的并发程序(我的例子中是 10 个)之后,我收到以下错误:

RuntimeError: Unable to find a valid cuDNN algorithm to run convolution
Run Code Online (Sandbox Code Playgroud)

正如这个答案中提到的,

...发生这种情况的原因可能是达到了 VRAM 内存限制(从错误消息来看,这相当不直观)。

对于我的 PyTorch 模型训练案例,减小批量大小有帮助。您可以尝试此操作,或者减小模型大小以消耗更少的 VRAM。

我尝试了此处提到的解决方案,以强制执行每个进程的 GPU 内存使用限制,但此问题仍然存在。

对于单个进程或较少数量的进程,不会出现此问题。由于同一时刻只有一个上下文运行,为什么这会导致内存问题?

使用/不使用 MPS 时都会出现此问题。我认为 MPS 可能会出现这种情况,但其他情况则不然,因为 MPS 可能会并行运行多个进程。

cuda gpu gpgpu nvidia pytorch

0
推荐指数
1
解决办法
979
查看次数

标签 统计

cuda ×1

gpgpu ×1

gpu ×1

nvidia ×1

pytorch ×1