• Stefy Lanza (nextime / spora )'s avatar
    pin parler's own CUDA stack, and check a venv can run what the worker needs · f9c05c91
    Stefy Lanza (nextime / spora ) authored
    With the environment fixed, Parler got further: the venv built, the service
    started, the model loaded — and the first synthesis died in the DAC audio
    decoder's conv1d.
    
        RuntimeError: CUDNN_BACKEND_TENSOR_DESCRIPTOR cudnnFinalize failed
        ptrDesc->finalize() cudnn_status: CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED
    
    Every cudnn sublibrary present in the venv, and the stack unable to load them:
    a torch 2.15 with the CUDA-13 wheels that `pip install git+…parler-tts` had
    resolved on its own, because nothing pinned it. requirements-parler.txt names
    the build now, the way every other isolated worker's file does.
    
    The health check was the deeper problem. `import parler_tts, soundfile`
    answered True for that venv for ever, so nothing ever rebuilt it. A venv's
    check has to exercise what the worker actually does: the decoder is
    convolutional, so the probe is one conv1d on the GPU, and a venv that imports
    but cannot run it is rebuilt from the pinned file. A CPU-only host passes —
    there is no GPU stack there to be broken.
    
    The service also latches cudnn off if it still fails there. torch has native
    kernels for those convolutions, the decoder is a fraction of the work, and the
    alternative is no speech at all.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_014T3rZozi1Ehk96NG1WesgC
    f9c05c91
README.md 60.4 KB