Depuis l'arrivée des Mac Apple Silicon, une question se pose : qu'en est-il des GPU tiers ? Sera-t-il possible un jour de changer la carte graphique d'un Mac ou - a minima de profiter d'une version externe ? John Ternus, responsable de l'ingénierie matérielle chez Apple, répond à ces questions dans le podcast de John Gruber, et ce n'est pas très encourageant.
L'architecture rend fondamentalement le tout incompatible
Dans la discussion, il explique que la façon de fonctionner des puces Apple, avec de la mémoire totalement unifiée entre le CPU et le GPU, rend caduc l'usage d'un GPU dédié. En effet, la mémoire unifiée a l'avantage de permettre d'éviter les transferts entre la mémoire du CPU et celle du GPU, qui sont limités par le bus PCI-Express. Et comme un emplacement PCI-Express 4.0 16x se limite à environ 32 Go/s quand les GPU d'Apple n'ont comme seule limite que la mémoire, les gains sont importants dans certains domaines. Et avec un eGPU, c'est encore pire : le bus Thunderbolt ne dépasse pas ~3 Go/s en pratique (sur 4 Go/s en théorie). Il explique d'ailleurs que « Ce n'est pas une direction que nous voulions poursuivre ».
La démonstration a tout de même une faille : le goulet d'étranglement n'est pas nécessairement cette liaison. Dans la pratique, la mémoire unifiée améliore les performances dans des cas précis, mais dans d'autres, une mémoire dédiée plus rapide est plus intéressante. Actuellement, la bande passante d'un M2 Max est d'environ 400 Go/s, contre 800 Go/s sur la puce M2 Ultra. En face, les cartes graphiques modernes peuvent dépasser 1 To/s sur les modèles haut de gamme.
De façon plus large, les développeurs d'Asahi Linux expliquent qu'en pratique, les contrôleurs PCI-Express des différentes puces Mx ne supportent pas réellement les GPU : la gestion de la mémoire pose des soucis avec les GPU dédiés. S'il est possible d'effectuer les corrections nécessaires de façon logicielle, l'impact sur les performances est élevé.
Deux points évidents montrent qu'Apple ne s'intéresse d'ailleurs pas aux GPU : trois ans après l'annonce des Mac Apple Silicon, il n'existe toujours aucun pilote pour les GPU AMD et (surtout) le Mac Pro 2023 est explicitement incompatible avec ces derniers.
Le Mac Pro perd son mojo : un Mac Studio plus gros et à peine plus évolutif
Le choix d'un système sur puce limite en pratique les performances
La question de la puissance se pose évidemment et il y a un point que nous n'avons pas évoqué dans notre article sur le problème de puissance d'Apple : les possibilités d'évolutions sur le GPU. Et elles sont physiques, liées au choix de proposer un système sur puce qui unifie le CPU et le GPU.
Ce qui manque à Apple, ce sont des Mac performants pour les joueurs
Prenons le cas d'une puce M1 Max : la puce mesure environ 450 mm² et intègre le CPU, le GPU et tout le nécessaire pour gérer l'ordinateur. Même si Apple voulait améliorer la puissance du GPU, la marge de manœuvre, demeure en réalité assez faible : les limites actuelles pour les puces sont de l'ordre de 600 à 800 mm². La puce AD102 des GeForce RTX 4090, par exemple, mesure 608 mm² et la plus grosse puce d'Intel atteint 770 mm². On peut donc supposer qu'Apple pourrait au mieux gagner de 30 à 50 % de performances en ajoutant des unités pour le GPU. Mais les grosses puces d'un point de vue physique sont plus onéreuses à fabriquer, notamment parce que le rendement est généralement plus faible. En effet, avec un nombre d'erreurs équivalent, il y a statistiquement plus de chances de perdre une grande puce qu'une petite.
Qui plus est, à taille et procédé de fabrication proche, une puce qui ne contient que des unités pour le GPU sera de toute façon mécaniquement probablement plus rapide qu'une puce qui contient aussi les unités CPU et l'équivalent du chipset.
La bande passante n'est pas une fatalité
Il reste une solution pour Apple, mais elle exclut de facto les fabricants tiers : développer une interface externe qui permet une bande passante élevée. Nvidia utilise cette solution pour ses cartes graphiques professionnelles : au lieu de passer par un bus PCI-Express, les cartes communiquent avec le bus NVLink. La version 3.0 employée avec les cartes de la génération Ampere permet une bande passante de l'ordre de 900 Go/s, soit plus que la bande de la mémoire d'une puce M2 Ultra.
Dans tous les cas, il faut donc probablement faire le deuil des cartes graphiques dédiées et des eGPU et tenter de profiter des GPU proposés par Apple… tout en choisissant judicieusement son Mac sur ce point.