OutOfMemoryError: CUDA out of memory--显存不足错误消息误读翻译校正

今天看到一个关于CUDA显存不足的帖子,发现他们之间的互动消息有点偏离了正轨。出现这种情况可能是由于他们对原始英文错误消息的曲解,原帖子截图如下:

首先,需要搞懂英文错误消息讲的是什么,然后基于正确的英文理解才能正确处理出现的错误,以下是我对这则错误消息的逐句翻译:
1、
torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 176.00 MiB. GPU 0 has a total capacity of 8.00 GiB of which 0 bytes is free.
torch.OutOfMemoryError: CUDA显存不足。试图分配176.00 MiB。GPU 0总容量8.00 GiB,其中0 B空闲。
2、
Of the allocated memory 12.71 GiB is allocated by PyTorch, and 1.79 GiB is reserved by PyTorch but unallocated.
在已分配的显存当中,PyTorch分配了12.71 GiB,预留了但未分配1.79 GiB。
3、
If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.
如果被预留但未分配的显存较多,尝试设置PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True来避免显存碎片。

显然这台机子的GPUs不只有GPU 0,否则PyTorch为何能分配和预留12.71 + 1.79 = 14.5 GiB呢?

对于第1句话:第一,可能有语句指定了程序仅使用GPU 0,此GPU一旦显存用尽无法分配就会报错,即使其他GPU有空闲的显存也无济于事;第二,可能最大的显存碎片都达不到176.00 MiB,但由“0 B空闲”可以判断,GPU 0可能连空闲碎片都没有了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值