pytorch runtime_error ai_generated true

RuntimeError: Cannot re-initialize CUDA in forked subprocess

ID: pytorch/multiprocessing-cuda-error

Also available as: JSON · Markdown
82%Fix Rate
86%Confidence
3Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
2 active

Root Cause

CUDA context in forked process causes crash.

generic

Workarounds

  1. 92% success Use mp.set_start_method("spawn") before any CUDA operations
  2. 88% success Initialize CUDA only in child processes, not parent

Dead Ends

Common approaches that don't work:

  1. Initialize CUDA before fork 88% fail

    Makes it worse, all children inherit context

  2. Use threading instead of multiprocessing 72% fail

    GIL limits parallelism