Par Didier A+  A-   22/06/2017 - 14:23
macOS High Sierra : on a testé l'eGPU sur Mac (+ vidéo de prise en main)
Avec macOS High Sierra, Apple prend officiellement en charge les cartes graphiques externes (eGPU), une petite révolution sur Mac !

Comment ça marche ? Est-ce que c'est stable ? Est-ce que ça vaut le coup ? Nous tenterons de répondre à toutes vos questions à travers ce mini-dossier, et bien-sûr, en vidéo !




eGPU : comment ça marche ?

Le principe de l'eGPU n'est pas très compliqué : le Thunderbolt est directement connecté aux lignes de PCIExpress, les mêmes (bien qu'il y en ait moins) que l'on retrouve à l'intérieur de son Mac. Voilà qui permet donc de brancher des périphériques jusque là « internes » dans des châssis Thunderbolt 3 « externes ».



Apple propose sur son site un kit de développement (vendu 900€) avec châssis Sonnet et AMD Radeon RX 580, mais la solution est également compatible avec plusieurs boitiers récents.



Macway nous a envoyé le modèle Akitio Node TB3 (vendu 359€) qui est nativement reconnu et surtout... beaucoup moins cher ! Ces châssis embarquent donc toute la connectique nécessaire, mais aussi une alimentation -indispensable pour la carte graphique. Certains modèles (comme chez Sonnet) sont même capables d'alimenter un MacBook Pro Retina 15".



Pour votre eGPU, il faudra donc :

- un Mac Thunderbolt 3 (MacBook Pro 2016/2017, iMac 4k/5k 2017)
-> Les Mac Thunderbolt 2 sont potentiellement compatibles, mais pas officiellement gérés
- macOS High Sierra Beta
- un boitier Thunderbolt 3 (comme notre Akitio Node à 359€ chez MacWay)
- un GPU AMD RX 580 (à partir de 200/250€)
- un écran externe (HDMI ou DisplayPort) à connecter à votre GPU externe (dès 100€)


Un grand merci à MacWay (pour le boitier) et AMD France pour nous avoir prêté le matériel nécessaire, la RX 580 étant particulièrement difficile à trouver dans le commerce ces dernières semaines !


On branche !

Une fois tout le matériel réuni, il suffit de placer la carte dans le boitier, de brancher l'alimentation sur la carte, et de relier le châssis à votre Mac avec le câble Thunderbolt 3.




Si l'ordinateur est déjà allumé, macOS vous informera de la détection du GPU via une petite alerte dans le coin de l'écran :



Il faudra donc redémarrer la session pour que le GPU soit pris en compte.


(bizarrement, elle est indiqué comme "R9 xxx" et non comme Radeon RX 580)




Et voilà ! C'est terminé ! Normalement, l'ordinateur vous indique bien la présence de 2 GPU dans votre Mac :



Si vous débranchez le châssis, la session va -cette fois- se relancer automatiquement.


GPGPU : les GPU s'additionnent

Le GPGPU (General-purpose processing on graphics processing units) est une technique permettant d'utiliser une carte graphique (GPU) pour du traitement habituellement destiné au processeur (CPU). Son principal intérêt est de pouvoir utiliser plusieurs GPU à la fois : leur puissance va donc s'additionner. Le GPGPU est particulièrement adapté à tous les calculs parallélisables, très répandus dans les applications professionnelles (2D, 3D, vidéo...).



Dans des programmes comme Final Cut Pro, After Effects ou Cinema 4D, disposer de plusieurs GPU va donc permettre d'accélérer les rendus de manière significative. Certains prennent déjà en charge le multi-GPU des actuels Mac Pro, et devraient logiquement gérer également les futures solutions d'eGPU.

Sur nos iMac 2017, les deux cartes sont donc parfaitement reconnues par le Mac et également par certains logiciels, comme ici Luxmark et Geekbench :




Nous avons donc réalisé quelques benchs et les résultats sont là : deux cartes graphiques valent mieux qu'une ! Avec deux Radeon 580, on parvient ici aisément aux scores OpenCL d'une GeForce 1080Ti d'Nvidia, ce qui n'est vraiment pas mal !




Le test OpenCL de Geekbench offre grosso-modo le même type de résultats. Ce qui est intéressant, ici, c'est qu'avec un petit GPU interne (comme sur l'iMac 4k), on peut désormais profiter des dernières cartes du moment. En effet, à terme, la 580 ne sera pas la seule à pouvoir intégrer un boiter : on peut espérer y installer les prochaines cartes Vega d'AMD... et pourquoi pas, des GeForce, si Nvidia fournit des pilotes !

OpenGL / Réalité virtuelle : beaucoup de compromis

Bizarrement, Apple a présenté l'eGPU comme une solution idéale pour la réalité virtuelle. Pourtant, les compromis sont nombreux lorsqu'il s'agit d'utiliser ces cartes graphiques externes pour faire de l'accélération 3D.



Tout d'abord, la firme oblige à utiliser un écran externe (HDMI ou DisplayPort) qu'il faut venir brancher sur la carte directement : en effet, l'écran interne ne peut pas encore être accéléré seul pour l'instant.


A droite, les ports du GPU externe : HDMI, DisplayPort ou DVI, mais pas de Thunderbolt


Second « problème », les GPU pris en charge sont encore assez limités, surtout en l'absence de modèles haut-de-gamme chez AMD. Or comme vous le savez, la bande passante du Thunderbolt 3 est nettement plus faible que celle des ports PCIe internes de la machine. Résultat ? Si le GPU externe n'est pas BEAUCOUP plus puissant que le GPU interne, il n'y a tout simplement aucun gain à attendre.



Par exemple, sur l'iMac 4k équipé de la Radeon Pro 560, les performances OpenGL en eGPU sur la 580 sont... moins bonnes que la carte interne :



Pire que cela et contrairement à ce qu'affirme Apple, le GPU externe semble gérer également l'écran de l'iMac en mode « bureau étendu ». (On peut par exemple lancer un jeu sur l'écran interne sans souci). D'ailleurs, macOS montre bien que l'écran interne est géré par la RX 580 :



Résultat, sur l'iMac 5k, les benchs sous CineBench (OpenGL) sont même moins bons que sur l'iMac 4k... dont la dalle interne monopolise moins de puissance d'affichage (et de débit vidéo). (J'ai tenté en mode « recopie vidéo » mais l'écran interne reste noir et les performances ne sont pas meilleures. Idéalement, il faudrait pouvoir désactiver l'écran interne, mais je n'y suis pas encore arrivé...)



Evidemment, sur des machines ne disposant pas de GPU interne (comme les anciens iMac 4k), les résultats seront meilleurs avec l'eGPU en OpenGL. Mais pour les Mac Thunderbolt 3 actuels, il faudra donc attendre la prochaine génération de GPU AMD (ou Nvidia compatibles) pour que cette solution soit intéressante. Et encore, les performances seront probablement très bridées par rapport aux possibilité de la carte...

Un premier bilan très positif

L'arrivée d'Apple dans le monde de l'eGPU est forcément une bonne nouvelle, sinon un signe d'ouverture à des capacités graphiques évolutives. L'implémentation est très propre et « plug-and-play », comme nous a habitués la société jusque là. Malgré la version beta, nous n'avons pas noté beaucoup de bugs ou de plantage durant les (longues) heures d'utilisation du système, y compris dans les jeux.



Etonnamment, Apple a surtout présenté son système pour créer des contenus en réalité virtuelle... alors que l'eGPU semble plutôt adapté au GPGPU, bien plus à même d'exploiter tout le potentiel de la machine -en additionnant les cartes. En effet, l'accélération graphique n'est pour le moment pas (ou peu) utile sur les machines actuelle, dont la puissance GPU interne surpasse largement les GPU externes disponibles.

Evidemment, Apple a certainement déjà prévu d'exploiter les prochaines grosses cartes AMD Vega en eGPU, et l'on imagine qu'Nvidia travaille sûrement déjà pour fournir des pilotes adaptés à la solution d'Apple. On espère également que la prochaine mise à jour de Final Cut Pro aura exploiter ces eGPU rapidement !

Bref, nous avons vraiment hâte de voir comment tout cela va évoluer d'ici les prochains mois :-)



Rappel du matériel nécessaire :


- un Mac Thunderbolt 3 (MacBook Pro 2016/2017, iMac 4k/5k 2017)
-> Les Mac Thunderbolt 2 sont potentiellement compatibles, mais pas officiellement gérés
- macOS High Sierra Beta
- un boitier Thunderbolt 3 (comme notre Akitio Node à 359€ chez MacWay)
- un GPU AMD RX 580 (à partir de 200/250€)
- un écran externe (HDMI ou DisplayPort) à connecter à votre GPU externe (dès 100€)
Version : Classique | Mobile