Python 3.15 : oui, mais en eager seulement
PyTorch 2.14 ajoute le support binaire de Python 3.15, y compris la build
sans GIL 3.15t, sur toutes les plateformes : Linux x86_64 et aarch64,
Windows, macOS Apple Silicon, en CPU, CUDA, ROCm et XPU. torchvision 0.29.0
suit avec les mêmes roues.
Deux réserves décident de votre mise à jour.
torch.compile ne fonctionne pas sous 3.15. L'appel lève une
RuntimeError — un choix délibéré, pour que la limite se voie tout de suite au
lieu de se traduire par une perte de performance silencieuse. Si votre charge
dépend de la compilation, restez en 3.14. Le travail sur Dynamo est en cours,
suivi dans l'issue pytorch/pytorch#184352.
Les roues 3.15 ne sont pas sur PyPI. Elles ne s'installent que depuis
download.pytorch.org :
pip3 install torch --index-url https://download.pytorch.org/whl/cpu
pip3 install torch --index-url https://download.pytorch.org/whl/cu130
pip3 install torch --index-url https://download.pytorch.org/whl/rocm7.14Sous un interpréteur free-threaded, les mêmes commandes résolvent
automatiquement les roues cp315t.
Bonne nouvelle en passant : torchvision 0.29 est ABI-stable vis-à-vis de torch 2.14, donc compatible avec les 2.15, 2.16 et suivantes. L'équipe pourrait cesser de synchroniser ses sorties sur celles de PyTorch.
Apple Silicon : la vraie surprise
L'algèbre linéaire sur MPS s'appuyait sur les primitives MPSGraph d'Apple, ou retombait sur le CPU. Cette version écrit des kernels Metal :
- SVD,
eigh,lstsqen kernels de type Jacobi, pourfloat32etcomplex64— ce qui débloque au passagematrix_rank,pinv,condet les normes qui en dépendent. Lefloat64reste sur CPU, Metal n'ayant pas de type double. - Cholesky : factorisation par panneaux, 1,2 à 2,8× plus rapide selon la taille, plus une correction de justesse sur les types complexes qui pouvaient produire un résultat faux sans le dire.
lu_factor/lu_solveréécrits à la main : plus de 100× sur de petites matrices en lot, 2 à 9× sur de grandes matrices isolées.- Attention de prefill : un second kernel s'appuie sur les Metal
Performance Primitives de macOS 26.2, pour
fp16/bf16et des dimensions de tête de 64, 96, 128 ou 256. Gain mesuré de 2 à 4× selon la forme, sans changer une ligne — MPS choisit le kernel quand la forme et le type conviennent. Les mesures ont été validées sur M5 ; le comportement sur les générations antérieures n'a pas été vérifié indépendamment.
Le reste, en bref
Côté GPU : NVGEMM amène dans Inductor des kernels CUTLASS générés par CuTeDSL,
un backend nccl2 arrive pour PyTorch Distributed, et la tolérance aux pannes
devient un concept de premier ordre dans c10d. torch.switch généralise
torch.cond au branchement multi-voies, et torch.while_loop se capture
désormais dans un graphe CUDA.
Dépréciations à noter : les avertissements TorchScript sont maintenant
visibles, l'option use_cuda disparaît du profiler, et le chemin Relay du
backend TVM est supprimé au profit du frontend relax.
À retenir
- Python 3.15 en production seulement si vous n'utilisez pas
torch.compile. - Les roues 3.15 changent vos fichiers de dépendances :
--index-urlobligatoire. - Sur Mac, la mise à jour vaut le coup pour l'inférence : le prefill accélère de 2 à 4× sans toucher au code.
Source : PyTorch