Soumettre un outil

NVIDIA CUDA

Plateforme et boîte à outils de calcul GPU de NVIDIA

Gratuit Outils de développement
Voir l'outil →

CUDA est la couche logicielle qui permet aux programmeurs d’utiliser un processeur graphique NVIDIA pour autre chose que le graphisme. Tu écris des fonctions appelées kernels, en général en C++ ou en Python, qui tournent sur des milliers de threads GPU à la fois, ce qui convient aux charges faites de beaucoup de calcul parallèle. La simulation scientifique, le traitement vidéo et surtout les réseaux de neurones correspondent à ça, donc CUDA est devenu la base de l’entraînement et de l’inférence d’IA modernes.

La plupart des gens qui utilisent CUDA ne l’écrivent jamais directement. PyTorch, TensorFlow et JAX appellent les bibliothèques de NVIDIA, dont cuDNN pour les opérations de réseaux de neurones, cuBLAS pour l’algèbre linéaire, et NCCL pour la communication entre GPU. TensorRT et des outils proches optimisent les modèles pour le déploiement. Comme ces bibliothèques sont réglées depuis des années, un modèle qui tourne sur CUDA est souvent plus rapide dès le départ que le même code sur le hardware d’un autre fournisseur. Cette avance logicielle explique en grande partie pourquoi les GPU NVIDIA dominent les data centers d’IA.

CUDA est gratuit à télécharger, mais il ne fonctionne que sur du hardware NVIDIA, ce qui est la critique principale. Du code écrit en CUDA ne peut pas tourner sur des GPU AMD ou Intel sans portage, et beaucoup d’entreprises essaient d’éviter ce verrouillage. ROCm d’AMD, Triton d’OpenAI, SYCL et Metal d’Apple sont les alternatives habituelles, et chacune ne couvre qu’une partie de ce que fait CUDA. Pour la plupart des développeurs, le conseil pratique est simple : utilise un framework qui gère CUDA pour toi, et ne descends écrire des kernels que quand le profilage montre que tu as besoin de la vitesse en plus.