
Guide
eGPU et MacBook : jouer sur un terrain inhabituel
par Kevin Hofer
Avec un eGPU, vous augmentez les performances graphiques de votre système - dans l'idéal. L'essai réalisé avec la RX 5700 XT et un iMac Pro de 2017 montre que cela ne fonctionne pas toujours comme prévu.
Si votre iMac Pro a pris de l'âge, vous n'avez pas d'autre choix que de passer à un nouveau modèle. En théorie, il est possible de mettre à niveau un iMac Pro de 2017 avec un processeur plus rapide et plus de RAM, mais cela demande beaucoup de travail et si vous le faites vous-même, la garantie est annulée. Et de toute façon, la carte graphique est soudée et ne peut pas être remplacée.
Apple supporte donc officiellement les eGPU depuis macOS High Sierra 10.13.4. Ce sont des cartes graphiques que vous placez dans un boîtier externe et que vous connectez à votre Mac via Thunderbolt 3.
Depuis macOS Catalina (10.15), la Radeon RX 5700 XT est également officiellement supportée. Grâce à cette carte, AMD est pour la première fois depuis des années en mesure de concurrencer Nvidia dans le segment des performances moyennes. Comme Apple ne supporte pas officiellement les cartes Nvidia, la 5700 XT devrait permettre de tirer les meilleures performances graphiques possibles des appareils Apple. Je vais essayer de voir ce que cela signifie en chiffres avec mon collègue Armin, monteur vidéo chez Digitec Galaxus.
Pour cela, nous branchons la Sapphire Pulse Radeon RX 5700 dans la Sapphire GearBox et connectons le tout à l'iMac Pro dont Armin a besoin pour le montage. Pour les premiers essais, nous utilisons macOS Catalina en version 10.15.2.
Le branchement de l'eGPU est rapide : il suffit de le connecter à l'iMac Pro via Thunderbolt, de l'allumer et la carte est automatiquement reconnue par le Mac. Il ne reste plus qu'à activer l'option "Prefer External GPU" dans les informations de l'application Premiere Pro CC 2020 (version : 14.0.1). Premiere fonctionne d'ailleurs avec OpenCL, car Armin n'a pas de bonnes expériences avec Metal.
Armin bénéficie désormais des performances du 5700 XT - du moins en théorie. Par rapport à la Vega 56 interne, la carte devrait fournir jusqu'à 30 pour cent de performances supplémentaires, selon l'application. Avant de réaliser un benchmark, Armin travaille pendant une semaine avec l'eGPU activé. Son bilan intermédiaire:
J'ai l'impression que la lecture en direct fonctionne mieux qu'avec la Vega 56 intégrée. Je ne vois pas de différence pour l'exportation.
Quelle est la qualité de l'estimation d'Armin ? Nous installons le PugetBench pour Premiere Pro de Puget Systems. Lors du benchmark, le score est calculé par rapport au framerate présent dans les vidéos d'essai. Si la vidéo de test a un FPS de 29,97 et que le système la rend à 29,97 FPS, cela signifie 100 points. S'il n'y a que 14.98 FPS, c'est 50 points.
Le benchmark exécute les médias aux formats 4K H.264 à 150 Mbps en 8 bits (59,94 FPS), 4K ProRes 422 16 bits (59,94 FPS) et 4K RED (59,94 FPS). Pour ce faire, il teste la lecture en direct dans Adobe Premiere Pro et l'exportation. Pour la lecture en direct, la valeur maximale est de 100, car Premiere ne peut pas lire les médias plus rapidement que la valeur prédéfinie. En revanche, pour l'exportation, plus de 100 points sont réalisables, car le rendu n'est pas limité aux FPS du média.
À cela s'ajoute l'ajout d'effets à dix clips ProRes 422, ce qui sollicite fortement la carte graphique. Puget Systems appelle cela les effets 4K Heavy GPU Effects. Ces clips sont ensuite lus et exportés dans Premiere.
Nous lançons le benchmark deux fois. Une fois avec l'eGPU activé et une fois avec l'eGPU désactivé. Les résultats sont décevants : l'OverallScore avec le 5700 XT activé est inférieur de 142 points à celui avec l'eGPU désactivé. Un peu gênant pour Armin : En live playback, le 5700 XT est loin derrière le Vega 56, avec des scores inférieurs de 25 à 75 pour cent avec l'eGPU activé. Pour les effets GPU lourds, la différence n'est pas aussi importante en live playback. Ici, elle n'est que de 7 pour cent. En revanche, le 5700 XT est plus rapide lors de l'exportation des Heavy GPU Effects : 16 pour cent de performance en plus.
Ces résultats nous laissent perplexes, Armin et moi. Rien à voir avec un gain de performance pouvant atteindre 30 pour cent. C'est le contraire qui se produit. A quoi cela peut-il être dû ? Examinons les résultats de plus près. Dans les informations système du benchmark, les deux cartes, la Radeon Pro Vega 56 et la Radeon RX 5700 XT, sont mentionnées sous GPU. Est-il possible que, malgré la préférence accordée à l'eGPU, les deux cartes soient actives et entrent ainsi en conflit l'une avec l'autre?
Pour le vérifier, nous faisons le benchmark OpenCL de Geekbench 5. Là encore : L'iMac Pro d'Armin s'en sort mieux avec la Vega 56 qu'avec l'eGPU 5700 XT. 56 492 points avec le Vega 56 contre 45 590 points avec le 5700 XT. Un coup d'œil sur les informations système le montre : Il peut y avoir quelque chose qui ne va pas. Au lieu d'une fréquence d'horloge de 1670 MHz, la fréquence d'horloge maximale affichée est de 875 MHz. Armin et moi soupçonnons que la carte n'est pas reconnue correctement par macOS, bien qu'Apple la prenne officiellement en charge.
La mise à jour de macOS version 10.15.2 à 10.15.3 est imminente. Peut-être que cette mise à jour résoudra notre problème ? Nous décidons d'attendre quelques jours et de réessayer.
Après la mise à jour, nous relançons le benchmark OpenCL de Geekbench 5. Le résultat de la Vega 56 est encore meilleur : 58 641 points correspondent à un gain de performance d'environ 4 pour cent. Pour la 5700 XT, en revanche, c'est l'inverse : 43 539 points correspondent à environ quatre pour cent et demi de performances en moins. La carte est toujours affichée avec une fréquence d'horloge de 875 MHz au lieu de 1670 MHz. Dans le moniteur d'activité, on peut cependant voir qu'elle est utilisée à plein régime.
Armin et moi réfléchissons à la raison pour laquelle la 5700 XT obtient de si mauvais résultats. Comme nous avons effectué tous les réglages correctement et les avons vérifiés plusieurs fois, nous pensons que la seule raison est liée aux informations du pilote. Ou bien le 5700 XT est-il moins performant que le Vega 56 en OpenCL?
Un coup d'œil à diverses revues sur les performances de calcul du 5700 XT montre que les pilotes OpenCL d'AMD semblent peu optimisés - du moins au moment des revues, il y a six mois. Dans les benchmarks de Anandtech, le 5700 XT fait systématiquement moins bien que le Vega 56. SiSoftware parvient également à une conclusion similaire. Le portail ne recommande pas le RX 5700 XT pour les tâches de calcul - il est préférable d'utiliser un Vega 56 ou 64. Du moins jusqu'à ce qu'AMD optimise ses pilotes pour OpenCL.
Et les 875 MHz au lieu des 1670 MHz affichés par Geekbench 5 ? Je pose la question à Apple. La réponse:
Conformément à la liste de compatibilité sur le site de Sapphire, ce GPU n'est pas supporté.
La liste qu'Apple m'a envoyée en pièce jointe confirme cette affirmation. La Gearbox et la carte graphique m'ont été fournies par Sapphire pour l'essai. Pourquoi me donneraient-ils à tester quelque chose qui n'est pas compatible entre eux ? Je me renseigne auprès de Sapphire.
En attendant la réponse, je connecte la Gearbox au Huawei MateBook X Pro avec Thunderbolt 3. Voyons si Geekbench 5 sous Windows 10 affiche correctement la fréquence d'horloge de la carte graphique. Effectivement : la fréquence d'horloge maximale est de 1,81 GHz. Le résultat est également meilleur : j'obtiens entre 55 629 et 66 219 points. La RX 5700 XT se situe donc dans la fourchette de la Vega 56 et la bat même. C'est ce que j'imagine pour une carte graphique plus récente de deux ans
Alors, est-ce que c'est macOS ? La réponse de Sapphire le laisse penser:
La carte est en tout cas supportée par la Gearbox, ce n'est pas le thème. Mais il y a peut-être plusieurs raisons pour lesquelles la Vega 56 obtient parfois de meilleurs résultats dans ces programmes. D'une part, le support des pilotes pour Navi n'a été intégré que récemment dans MacOS. Il est possible qu'il y ait encore des problèmes à ce niveau
En outre, la personne responsable chez Sapphire soupçonne ce qu'Armin et moi-même soupçonnons déjà : Certaines cartes calculent certaines choses différemment. Ainsi, dans certaines applications, la Vega 56 serait plus rapide que la Vega 64, le modèle haut de gamme de la génération de cartes graphiques de l'époque. Dans les revues que j'ai étudiées, la Vega 56 a fait mieux que la RX 5700 XT en OpenCL.
Avec ces informations, je demande à nouveau à Apple. Je n'ai pas encore reçu de réponse. Dès que je l'aurai, je la posterai ici.
Si, comme mon collègue Armin, vous avez un iMac équipé d'une Vega 56, vous vous en sortirez (encore) mieux avec elle. La Radeon RX 5700 XT ne fait pas mieux que la Vega 56 dans le benchmark OpenCL sous Windows. Si la carte fonctionne de manière optimale sous macOS, vous ne bénéficierez pas d'un gain de performance significatif dans Premiere sous OpenCL par rapport à la Vega 56. Cependant, pour d'autres tâches, la Radeon RX 5700 XT est bien plus performante, ce qui justifie un changement à un moment ou à un autre.
Pour l'instant, nous attendons avec impatience la réponse d'Apple.
La technologie et la société me fascinent. Combiner les deux et les regarder sous différents angles est ma passion.