本文最后更新于:2024年5月7日 下午
在 Linux 下多进程调用 CUDA 执行任务时可能会报错:
To use CUDA with multiprocessing, you must use the ‘spawn‘ start method
,本文记录解决方案。
问题原因
-
操作系统为 Linux
-
多进程调用程序
-
程序中需要调用 CUDA
-
调用多进程时使用的不是
spawn
模式Linux 默认调用多进程的方法为
fork
,参考之前的说明
在此种情景中为了保证 CUDA 进程的隔离仅能使用 spawn
模式运行多进程任务,如果没有使用则会报出上述错误
解决方案
- 需要强制
multiprocessing
使用spawn
方法调用多进程
1 |
|
参考资料
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
错误 To use CUDA with multiprocessing, you must use the ‘spawn‘ start method 解决方案
https://www.zywvvd.com/notes/study/deep-learning/bug-fix/cuda-multiprocess-spawn-error/cuda-multiprocess-spawn-error/