爆显存(CUDA OOM)什么原因?

内容纲要

问题

爆显存(CUDA OOM)什么原因?

原因

A:如果执行程序报错OOM显存不足,那么最简单的调试办法是设置batch size=1然后逐步增大,观察跑到多大bs时OOM,以此为依据再决定升配成多卡还是换一个更大显存的卡。另外一种情况,第一次跑没有OOM,但是再次运行就OOM了,这类情况先使用nvidia-smi命令确认在未跑时显存占用,如果有占用那么说明有之前跑的残留进程需要清理掉,清理方式: ps -ef 找到进程PID,然后kill -9 PID,如果没有显存占用,那么说明程序的特性就这样,比如动态深度学习框架的显存是会发生变化的,正好在计算过程中对显存的需求超出上限。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward