PAD-75.34: Standardizzazione Ambiente PyTorch GPU
Obiettivo: Garantire che l’ambiente di sviluppo e produzione supporti l’accelerazione GPU (CUDA) su macchine dotate di NVIDIA, mantenendo la compatibilità CPU per gli altri, attraverso una gestione delle dipendenze riproducibile.
Stato: 🔴 Da Fare
1. Analisi del Problema
- Attualmente
torchviene installato da PyPI di default, che spesso serve la versione CPU-only per Linux/Windows per risparmiare banda, o versioni CUDA non allineate. - L’installazione manuale (
pip install --index-url ...) funziona localmente ma viola il principio di riproducibilità (Regola 5). pip-toolsfatica a gestire indici multipli (PyPI standard + PyTorch Index) nello stesso filerequirements.in.
2. Strategia Tecnica
Separare le dipendenze “Core” da quelle “Compute-Intensive” o usare flag specifici per pip-compile.
3. Piano d’Azione (Checklist)
Fase A: Pulizia e Definizione (DevOps)
- Creare
requirements-torch.in: Un file separato che contiene solotorch,torchvision,torchaudio. - Aggiornare
requirements.in: Rimuovere i riferimenti a torch da qui.
Fase B: Generazione Lockfile Multi-Index
- Script di Compilazione Custom: Creare uno script (es.
scripts/compile_deps.ps1) che esegue:pip-compile requirements.in→requirements.txtpip-compile requirements-torch.in --find-links https://download.pytorch.org/whl/cu124→requirements-torch.txt- Fonde i due file o li mantiene separati per l’installazione sequenziale.
Fase C: Aggiornamento CI/CD e Build
- Aggiornare
build_portable.py: Assicurarsi che PyInstaller includa le DLL di CUDA (che sono pesanti) o fornisca istruzioni per scaricarle. - Test su Macchina Pulita: Verificare che
pip install -r requirements-full.txtinstalli la versione CUDA correttamente su un PC vergine.
Fase D: Documentazione
- Aggiornare
CONTRIBUTING.mdcon le istruzioni specifiche per il setup dell’ambiente AI (che richiede questo passaggio extra).
Salva questo PAD nei tuoi appunti o crea un file docs/pad/PAD-001-pytorch-gpu.md se preferisci archiviarlo nel progetto.