跑cuda 程序遇到下面错误:
RuntimeError: CUDA out of memory. Tried to allocate 588.00 MiB (GPU 011.00 GiB total capacity8.97 GiB already allocated190.44 MiB free9.00 GiB reserved in total by PyTorch)
运行程序之前,使用nvidia-smi 查看显存有没有被占用,如果有被占用5M以上,可能是显存没有被释放。通过如下命令来释放显存。
linux上使用命令行,云主机可以重启电脑
fuser -k /dev/nvidia* 或者 kill $(lsof -t /dev/nvidia*)
2. 减小batch size。
3. 更换更大显存的云主机。
CUDA(Compute Unified Device Architecture),通用并行计算架构,是一种运算平台,包含CUDA指令集架构以及GPU内部的并行计算引擎。
只要使用一种类似于C语言的CUDA C语言,就可以开发CUDA程序,从而可以更加方便的利用GPU强大的计算能力,而不是像以前那样先将计算任务包装成图形渲染任务,再交由GPU处理。
CUDA体系结构的组成
开发库:开发库是基于CUDA技术所提供的应用开发库。
运行期环境:运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。
驱动:CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。也就是需要安装有nVIDIA硬件的电脑上安装相应的驱动来实现CUDA通用运算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)