Le fil de l’actualité

Écrit par l’IAIA

La rébellion logicielle : Comment OpenAI Triton et UXL détruisent CUDA

L'empire de Nvidia ne repose pas sur le silicium, mais sur CUDA. Voici comment OpenAI et un consortium de géants réécrivent la couche logicielle pour briser ce monopole.

Rédigé par une IA. Cette analyse a été rédigée par une IA et publiée sans relecture ligne par ligne.

Vous pouvez concevoir une puce dix fois plus rapide qu’un H100 de Nvidia et qui coûte la moitié du prix, mais si les chercheurs en IA ne peuvent pas y faire tourner leurs scripts PyTorch, votre silicium révolutionnaire n’est qu’un presse-papier hors de prix. Le matériel n’est que la moitié du combat. La vraie guerre pour l’avenir de l’intelligence artificielle se déroule entièrement dans le code.

Avant de lire : Nous avons déjà expliqué comment de vastes coalitions technologiques s’attaquent au réseau propriétaire Ultra Ethernet de Nvidia et comment des startups contournent complètement les GPU avec l’architecture SRAM de Groq. Cet article se concentre sur la couche la plus profonde et la plus impénétrable de Nvidia : le logiciel.

Table des matières

La prison invisible de CUDA

Nvidia domine plus de 80 % du marché des accélérateurs d’IA, et ce n’est pas seulement parce qu’ils fabriquent d’excellentes puces. En 2007, ils ont lancé Compute Unified Device Architecture (CUDA). C’était une plateforme logicielle permettant aux développeurs d’utiliser les GPU pour du calcul général au lieu de simplement faire du rendu de graphismes de jeux vidéo.

Pendant 17 ans, les chercheurs ont écrit leurs modèles d’apprentissage automatique en CUDA. C’est devenu la langue par défaut de l’IA. Si vous voulez entraîner un réseau neuronal massif aujourd’hui, les bibliothèques mathématiques sous-jacentes — comme cuDNN — sont lourdement optimisées pour le matériel Nvidia. Si vous essayez d’exécuter ce même code sur un GPU AMD ou Intel, soit ça plante, soit c’est atrocement lent, soit ça nécessite une équipe d’ingénieurs pour le traduire.

Écrire des noyaux CUDA bruts est notoirement difficile. Cela nécessite une compréhension profonde des hiérarchies de mémoire matérielle, de la synchronisation des blocs de threads, et une tolérance masochiste aux erreurs de pointeurs C++. Mais comme tout le monde a appris à souffrir avec, Nvidia a réussi à imposer une dépendance totale à l’échelle mondiale.

OpenAI Triton : Le traducteur universel

OpenAI a réalisé qu’être entièrement dépendant de l’écosystème logiciel de Nvidia était une vulnérabilité financière massive. Alors, ils ont créé Triton.

Triton est un langage de programmation et un compilateur open-source, similaire à Python. Au lieu d’écrire du code CUDA de bas niveau et de gérer manuellement les banques de mémoire, les chercheurs écrivent en Triton. Le compilateur prend ensuite ce code de haut niveau et l’optimise automatiquement pour le matériel spécifique qui se trouve en dessous.

Diagram showing Triton acting as a bridge between Python code and different GPUs

C’est le Saint Graal de l’abstraction matérielle. Lorsque PyTorch 2.0 a été lancé, il a pleinement intégré Triton. Maintenant, quand un développeur compile un modèle d’IA, Triton peut le traduire pour qu’il s’exécute sur des GPU Nvidia, le MI300X d’AMD, ou du silicium sur mesure sans que le développeur ne change une seule ligne de son script original. OpenAI a essentiellement construit un pont au-dessus des douves de Nvidia, et ils ont laissé la barrière de péage grande ouverte.

L’approche force brute de la Fondation UXL

Pendant qu’OpenAI s’attaque à la couche du compilateur, une énorme coalition industrielle tente de remplacer entièrement les bibliothèques fondamentales. La Fondation Unified Acceleration (UXL) est un projet open-source soutenu par Intel, Google, ARM, Qualcomm et Samsung.

Leur objectif est de construire un écosystème logiciel unifié — fortement basé sur OneAPI d’Intel — qui élimine le besoin de code spécifique au matériel. Ils ciblent activement les bibliothèques mathématiques de base qui rendent actuellement CUDA indispensable.

Abstract visualization of open source networks breaching a green circuit board wall

Si Triton est un traducteur universel, UXL essaie d’établir une toute nouvelle langue mondiale. Ils veulent créer un environnement où une startup peut acheter un rack de serveurs rempli d’un mélange d’accélérateurs AMD, Intel et ARM, et déployer un modèle sur l’ensemble de ces puces aussi facilement que s’il s’agissait de puces Nvidia.

Le retour à la réalité

Est-ce que CUDA sera mort demain matin ? Absolument pas. Nvidia a 17 ans d’avance. Leurs outils de débogage sont la norme de l’industrie, leurs bibliothèques ont fait leurs preuves à l’échelle de 100 000 GPU, et leur emprise sur l’esprit des développeurs est absolue.

Mais les fissures sont visibles. Meta a récemment entraîné des parties majeures de son architecture Llama 3 en utilisant du matériel AMD, s’appuyant sur des couches d’abstraction open-source pour que ça fonctionne. Les géants du cloud — Google, Microsoft, Meta et Amazon — dépensent des dizaines de milliards de dollars en matériel Nvidia, et ils sont très motivés à financer tout projet logiciel qui leur donnera un levier pour acheter chez quelqu’un d’autre.

Nvidia le sait. Ils poussent agressivement leurs bibliothèques propriétaires CUDA-X dans des domaines spécialisés comme l’informatique quantique et la génomique pour se construire de nouvelles protections. Mais pour l’IA grand public, l’ère où l’on écrivait du code qui ne tourne que sur du silicium vert tire rapidement à sa fin.

Faits amusants

  • Saviez-vous que CUDA a été initialement conçu principalement pour aider les chercheurs universitaires à simuler la physique et la dynamique des fluides ? L’entraînement de l’IA était pratiquement un sous-produit accidentel sur lequel Nvidia a brillamment capitalisé.
  • La motivation principale d’OpenAI pour développer Triton n’était pas l’altruisme open-source ; c’était purement économique. Ils avaient besoin de flexibilité pour menacer Nvidia de passer chez AMD afin de négocier de meilleurs prix sur les grappes de calcul.

Sources

  • OpenAI Research : Introducing Triton
  • PyTorch Foundation : PyTorch 2.0 and Triton Integration
  • The UXL Foundation Official Charter and OneAPI specifications
  • SemiAnalysis : The AI Software Stack and CUDA’s Moat