Le code CUDA s'exécute sur le GPU Apple M3 Pro avec une augmentation de vitesse de 10 fois

icon MarsBit
Partager
AI summary iconRésumé
Les actualités on-chain rapportent qu'un programme de calcul basé sur CUDA a été exécuté avec succès sur un appareil Apple M3 Pro avec des modifications minimes du code. Le programme, qui gère une simulation 3D de fluide réelle, a fonctionné environ 10 fois plus rapidement sur le GPU Metal d'Apple que sur le CPU. L'installation a utilisé un pipeline de conversion impliquant Clang/HIP, SPIR-V, Vulkan et MoltenVK, en évitant les API spécifiques à Metal. GPT-5.6 Sol a aidé à résoudre les problèmes de compatibilité. Le test a révélé une utilisation élevée du GPU et une précision élevée, prouvant que les algorithmes de type CUDA/HIP peuvent fonctionner sur Apple Silicon. Les actualités sur les actifs réels (RWA) mettent en lumière le potentiel des outils de calcul multiplateformes.

Un programme de calcul initialement conçu pour NVIDIA CUDA s'exécute presque sans modification du code noyau sur un appareil Apple équipé d'un M3 Pro.

CUDA

Ceci est une avancée publiée hier par l'utilisateur X @Abhinav. Ce qui est encore plus surprenant, c'est que ce n'est pas simplement une démonstration de « vecteurs avec addition, soustraction, multiplication et division », mais une amélioration d'environ 10 fois de la vitesse dans une tâche réelle de simulation de fluide en trois dimensions.

CUDA

Derrière cette affaire, un participant particulier : GPT-5.6 Sol.

L'événement s'est produit sur la plateforme de calcul scientifique open source OpenFPM. Les chercheurs ont constamment accompli une tâche que beaucoup considéraient comme « peu probable » : faire fonctionner des programmes de calcul haute performance conçus à l'origine pour les GPU CUDA/HIP, en les faisant traverser les barrières de plateforme pour s'exécuter sur l'architecture GPU Metal propre à Apple.

Pourquoi est-ce si difficile ? Au cours des deux dernières décennies, le domaine du calcul GPU a été fortement fragmenté — NVIDIA dispose de CUDA, AMD de HIP, Apple de Metal. Ces écosystèmes sont comme des langues différentes, incompatibles entre elles. Un programme écrit en CUDA nécessite généralement une réécriture importante pour fonctionner sur une autre plateforme.

Mais cette fois, les développeurs n'ont pas choisi de développer une nouvelle version Metal ; au lieu de cela, ils ont mis en place un canal de conversion : le programme est d'abord traité par Clang/HIP, puis transmis via des couches intermédiaires telles que SPIR-V, Vulkan et MoltenVK, permettant enfin aux GPU Metal d'Apple de le comprendre et de l'exécuter efficacement.

Plus important, ils n'ont ajouté aucun API de particules dédié à Metal. La couche application conserve toujours les appels de kernel au style CUDA/HIP, réalisant une véritable transparence matérielle.

Au cours de ce processus, GPT-5.6 Sol a joué un rôle clé. Il a aidé à construire la disposition mémoire côté appareil, identifié des problèmes de compatibilité dans MoltenVK et SPIR-V en environ 6 heures, et conçu des solutions de contournement appropriées.

CUDA

Lien du projet : https://github.com/mosaic-group/openfpm/pull/18

Ce qui met véritablement à l’épreuve ce travail, c’est un cas de test complexe : la simulation de l’effondrement d’un barrage en SPH 3D. Cette tâche exige de gérer simultanément plusieurs modules complexes — balayage, tri et réarrangement, construction des cellules et des listes de voisins, échange de particules fantômes, opérations de réduction et opérations atomiques — où un défaut dans l’un quelconque de ces éléments entraîne une baisse de performance ou une dérive des résultats physiques.

Mais les résultats des tests ont dépassé les attentes. Sur les appareils Apple équipés de la puce M3 Pro, l'exécution avec le GPU Metal a pris environ 6 secondes, tandis que le calcul séquentiel sur CPU a pris environ 60 secondes. Autrement dit, en modifiant simplement le matériel de calcul, le même programme a obtenu une accélération d'environ 10 fois, avec une utilisation du GPU proche de 100 % (indiquant une efficacité de conversion très élevée).

Plus important encore, l'amélioration de la vitesse n'a pas été obtenue au détriment de la précision. Les développeurs ont examiné plus en détail les résultats de la simulation et ont constaté que les résultats physiques finaux obtenus avec la version GPU d'Apple étaient identiques à ceux de la version de calcul originale, les paramètres clés et les trajectoires de simulation étant très proches. Cela signifie que le GPU d'Apple non seulement fonctionne, mais qu'il effectue véritablement des tâches de calcul scientifique.

Les développeurs ont également précisé que le stockage des particules augmente linéairement avec le nombre de particules N, tandis que les opérations telles que la recherche des voisins ont une complexité d'environ O(N·k) (où k est le nombre de voisins à densité fixe). L'accélération de 10 fois présentée actuellement est le résultat d'une comparaison entre un backend mono-ordinateur. À l'avenir, grâce à la technologie RDMA prise en charge par Apple Thunderbolt, il sera possible d'implémenter un équilibrage dynamique de charge entre plusieurs machines, permettant à la simulation de s'étendre sur plusieurs appareils.

Bien sûr, cette percée est encore loin de transformer l'ensemble de l'industrie des GPU. L'une des principales limites actuelles des GPU Apple Metal est le manque de prise en charge des calculs en virgule flottante à haute précision, alors que de nombreux domaines scientifiques professionnels dépendent des opérations en double précision. Ainsi, dans les scénarios de calcul haute performance tels que la prévision météorologique et la simulation aérospatiale, les GPU professionnels NVIDIA conservent un avantage.

Cependant, certains remettent en question la pertinence de cette exploration ; un internaute a déclaré : « Il existe tant de systèmes bien plus adaptés sur le marché — à quoi sert de faire cette petite simulation sur un Mac ? » Sous-entendu, même si le GPU d’un MacBook est rapide, il n’a pas été conçu pour le calcul scientifique, et cela ressemble davantage à un simple coup d’éclat.

La réponse du développeur était franche : « Le principal avantage, c’est que c’est amusant et pratique pour le travail. » Il a expliqué que les simulations à grande échelle de l’équipe s’exécutaient déjà sur un cluster, et que le fait qu’elles fonctionnent maintenant sur l’architecture Apple valide justement la conception de la couche d’abstraction des appareils. Un motif encore plus pratique réside dans le développement quotidien — avant d’exécuter une grande simulation, il faut toujours d’abord tester avec une petite simulation ; or, le débogage local sur CPU est trop lent. Les résultats de simulation font souvent plusieurs Go, ce qui rend impossible leur transfert via SSH, et le bureau à distance est trop lourd et peu pratique ; il est donc préférable de les exécuter directement localement. Le plus remarquable, c’est que le code testé et validé sur un ordinateur portable peut être transféré tel quel sur un cluster GPU, où il s’adapte automatiquement à une échelle plus grande.

CUDA

Cette exploration a également démontré qu'une même série d'algorithmes au style CUDA/HIP peut s'exécuter de manière relativement transparente sur différents backends matériels, tels que Apple Silicon. À l'avenir, les développeurs logiciels pourraient ne plus être liés à un seul écosystème GPU.

CUDA

De plus, cela montre que l'IA (GPT-5.6 Sol) passe à une nouvelle phase où elle participe à la conception de systèmes sous-jacents, à leur optimisation et au débogage cross-platform, au-delà de l'aide à l'écriture de code.

Le GPU d'Apple franchit cette fois le fossé CUDA, ce qui ne pourrait être qu'un début.

Lien de référence : https://x.com/Abhinavsns/status/2079774018748694696

Cet article provient du compte WeChat « Machine Heart » (ID : almosthuman2014), auteur : Machine Heart

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.