PyTorch precarga el estado RNG de CUDA Graph antes de la captura para evitar un fallo
La inicialización perezosa del RNG de CUDA asignaba tensores de semilla y offset en el stream por defecto durante la captura de un grafo, lo que podía provocar el error cudaErrorCapturedEvent. El cambio hace que CUDAGraph reserve esos buffers antes de capturar y los asigne a los generadores en el primer uso, añade el parámetro num_rng_states (valor por defecto 8) y descarta los pares no utilizados tras la captura. Según el autor, los pruebas focalizadas y de integración pasaron.
Fuentes
- GitHub pytorch/pytorchpytorch/pytorch: trunk/9beae8fa8cb87e424fefc7a43ddf96418286e0d4: [CUDA RNG] Preallocate graph-owned RNG state before capture (#193993)