在 Linux 下多进程调用 CUDA 执行任务时可能会报错:
To use CUDA with multiprocessing, you must use the ‘spawn‘ start method
,本文记录解决方案。
spawn
模式
Linux 默认调用多进程的方法为 fork
,参考之前的说明
在此种情景中为了保证 CUDA 进程的隔离仅能使用 spawn
模式运行多进程任务,如果没有使用则会报出上述错误
multiprocessing
使用 spawn
方法调用多进程import multiprocessing
multiprocessing.set_start_method('spawn')