本文主要是介绍显卡显存充足,但是报错:CUDA error: out of memory,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 问题描述
显卡未显存充足,且无进程占用,使用 nvidia-smi 和 sudo fuser -v /dev/nvidia* 均找不到占用进程。
报错:
RuntimeError: CUDA error: out of memory CUDA kernel errors might be asynchronously reported at some
2. 解决方案
2.1 清理未释放缓存(未奏效)
import torch# 使用`torch.cuda.empty_cache()`函数释放CUDA失活显存
torch.cuda.empty_cache()# 查看GPU使用情况
print(torch.cuda.memory_allocated())
print(torch.cuda.memory_reserved())
2.2 重启device(未奏效)
from numba import cuda
device = cuda.get_current_device()
device.reset()
cuda.close()
报错:仍然是OOM问题
2.3 重启device(奏效)!!!
先试用 sudo fuser -v /dev/nvidia* 查看占用程序pid,kill掉之后执行下面的命令重启对应的显卡。
nvidia-smi --gpu-reset -i $gpu_id
2.4 重启解决,但不推荐
参考链接:
1. GPU memory is empty, but CUDA out of memory error occurs - CUDA / CUDA Programming and Performance - NVIDIA Developer Forums
这篇关于显卡显存充足,但是报错:CUDA error: out of memory的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!