eGPU : retour d'expérience sur le BizonBOX 3 et un projet TensorFlow

Stéphane Moussie |

Avec son débit de 40 Gbit/s, le Thunderbolt 3 a entraîné une multiplication des boîtiers pour carte graphique externe. C’est une aubaine pour les possesseurs de Mac bridés par les choix d’Apple en matière de GPU. Travaillant sur un projet de deep learning très gourmand, Benoît Desnos a adjoint à son MacBook Pro 2016 une GeForce GTX 980 Ti placée dans un boîtier BizonBOX 3.

Le BizonBOX 3 présenté par son fabricant.

Pourquoi ne pas opter pour un Mac Pro ? Parce que le logiciel qu’il utilise, TensorFlow (à l’origine un projet de Google qui est devenu open source), exploite la technologie CUDA pour l’accélération graphique. Or, les cartes AMD ne prennent pas en charge CUDA, qui est développé par Nvidia.

Dans la gamme de Nvidia, Benoît a préféré la GeForce GTX 980 Ti à la Titan X en raison de son compromis prix-performance qui lui semblait meilleur (le tarif va du simple au double). Impossible de sélectionner une GeForce 1000 plus récente faute de pilotes compatibles sur Mac.

Quant au boîtier Thunderbolt 3, il s’est tourné vers le BizonBOX 3 en raison de son prix et de sa livraison en France. Au total, il en a eu pour près de 1 700 € (1 556 $ pour le boîtier, la carte et l’alimentation, 85 $ de frais de port et 130 € de frais de douane). Pourquoi ne pas monter un hackintosh complet à ce prix là ? Le développeur avait besoin d’un ordinateur portable et voulait aussi une solution simple à mettre en place.

Le BizonBOX 3 en vrai. Cliquer pour agrandir

« L’assistance du site est très rapide, tant avant l’achat qu’après. J’ai dû écrire plusieurs fois pour avoir des précisions (vu le prix du matériel…) sur la compatibilité matérielle et logicielle, témoigne Benoît. L’expédition est très rapide, j’ai attendu 7 jours. L’emballage est assez sommaire : un carton, de la mousse expansée mais cela semble suffisant. Si j’avais su j’aurais également pris le câble de 2 mètres car celui de 50 cm est vraiment trop court pour pouvoir ranger la box où je veux sur mon bureau. »

Sur le boîtier en lui-même, il trouve qu’il est bien assorti avec le Mac. Par contre, le bloc d’alimentation est pour le moins élémentaire. Bizon n’a pas pris la peine de l’habiller un minimum.

À condition de lire l’anglais et d’avoir un peu de matériel supplémentaire, la mise en route est simple, d’après lui :

Les instructions d’installation sont très claires. Elles nécessitent de désactiver la protection de l’intégrité du système (SIP). Il est demandé d’utiliser le boîtier avec un écran externe, j’utilise donc mon vieil iMac 2009 comme écran avec un câble Mini DisplayPort et un adaptateur USB-C et tout fonctionne !

Cliquer pour agrandir

Une fois la solution eGPU en place, les performances changent du tout au tout. Benoît parle de temps de calcul divisé par 30 à 40 ! « Je n’ai pas vérifié exactement, mais en gros pour un traitement qui me prenait 8–10 heures sur mon MacBook Pro 2016 2,6 GHz Core i7 16 Go de RAM, je suis passé à 8–10 minutes. En plus ça me permet d’utiliser le CPU pour bosser sur autre chose sans ralentissements », indique-t-il, très satisfait de ce gain de performances. « J’ai observé que plus j’ai de données à traiter, plus l’impact en termes de perfs est important et plus le GPU est rapide par rapport au CPU », ajoute-t-il.

Cette solution a toutefois des contreparties. Le bloc d’alimentation est assez bruyant et la carte graphique siffle — l’assistance de Bizon lui a indiqué que cela pouvait arriver avec certains modèles. Le branchement à chaud fonctionne à moitié : il déclenche parfois des plantages du système.

De plus, le développeur est dépendant de la mise à disposition des pilotes par Nvidia. Ceux-ci arrivent généralement rapidement, mais il faut penser à ne pas passer sur les nouvelles versions de macOS dès leur sortie, sous peine de se retrouver sans eGPU temporairement, comme ça lui est arrivé avec macOS 10.12.3.

En conclusion, les performances sont radicalement changées dans le cas présent, mais les à-côtés (compatibilité, bruit, finitions…) sont très largement perfectibles.

avatar Yohmi | 

Je ne savais pas qu'il était possible d'utiliser un iMac comme écran externe ?

avatar r e m y | 

@Yohmi

Uniquement certains anciens modèles.

avatar C1rc3@0rc | 

Ah bon Apple a retiré cette fonction depuis quel modele?
Cette fonction n'a pas beaucoup de sens mais ça avait le merite d'exister et niveau realisation ça veut dire juste passer le signal directement sur l'ecran, donc c'est pas non plus

Sinon pour l'histoire, le gars a fait un choix etrange parce que TensorFlow - qui est un outil de calcul - offre une architecture très flexible qui permet de le lancer sur tout et particulièrement sur des serveurs... donc au lieu de la solution qu'il a choisi il aurait tout a fait pu prendre un vieux PC le passer sous Ubuntu et y mettre un ou plusieurs GPU Nvidia, voire des GPU Quadro Pascal et aurait eu de meilleurs résultats - tout ça bien sur en pilotant le tout depuis son Mac.
Quel est l'avantage reel d'utiliser ce boitier, mystere...

Bref, on est typiquement dans le cas d'un usage GPGPU asynchrone, c'est pas comme s'il voulait utiliser son Mac pour faire de l'affichage en temps reel, ou la il faut avoir un GPU Nvidia dans le Mac...

avatar marc_os | 

@ C1rc3@0rc
« au lieu de la solution qu'il a choisi il aurait tout a fait pu prendre un vieux PC ... »
Faudrait songer à lire les articles en entier avant de commenter. Visiblement, t'as pas lu ce qui suit :
« Pourquoi ne pas monter un hackintosh complet à ce prix là ? Le développeur avait besoin d’un ordinateur portable et voulait aussi une solution simple à mettre en place ».

avatar C1rc3@0rc | 

Ben entre un petite tour PC faisant office de serveur et cette tour eGPU avec sa grosse alimentation, en terme de portabilité, il me semble que ni l'un ni l'autre ne répondent au critere du portable comme seule machine, et que dans le cadre de la transportabilité et de l'autonomie la tour PC serveur est bien plus pertinente...

avatar flux_capacitor | 

Seuls les modèles d'iMac suivants ont eu droit au Target Display Mode (utiliser l'iMac comme un écran externe) :

• iMac 27" Late 2009
• iMac 27" Mid 2010
• iMac 21.5" et 27" Mid 2011
• iMac 21.5" et 27" Late 2012
• iMac 21.5" Early 2013
• iMac 21.5" et 27" Late 2013
• iMac 21.5" Mid 2014

La fonctionnalité TDM a malheureusement été supprimée par la suite (à partir de l'iMac 5K, y compris l'iMac 21.5" Late 2015 et l'iMac 21.5" 4K).

avatar C1rc3@0rc | 

Ok, donc y a aucune raison technique a cette suppression de fonctionnalité, cela semble être de l'arbitraire marketing pur. :(

avatar flux_capacitor | 

Tout à fait, tout comme au début durant 2 ans cette fonctionnalité était réservée au seul modèle 27", pour créer un "effet de gamme". Après, il y a peut-être quelque chose au niveau du GPU qu'on ne connaît pas et qui a forcé Apple à revoir sa copie.

avatar melaure | 

Apple a retiré cela avec le Retina, dans sa stratégie de faire payer toujours plus cher pour moins de fonctionnalités ...

avatar dtb06 | 

C'est du n'importe quoi. D'accord ça améliore les performances par rapport à la carte interne, mais on reste sur des performances dignes d'une carte à 150 euros.

1700 euros pour faire tourner une 980Ti à la moitié de ses capacités ? Avec un truc en mode bricolage du dimanche ? Quelle honte !!

avatar Almux | 

Croire qu'on puisse avoir un portable sympa tout en ayant un CUDA efficace en même temps... tout dans le même portable, c'est aussi du "n'importe quoi".
En tout cas, il semble pouvoir en tirer ce qui lui faut.

avatar C1rc3@0rc | 

On est d'accord un portable ultra-fin n'est pas fait pour faire du calcul GPGPU intensif. Le portable est bien pour piloter le calcul qui se fait sur un serveur... a la limite d'ailleurs un iPad peut en faire autant.

Après avoir un GPU CUDA dan un portable ça permet de développer ou de faire des simulations quand on a pas de serveur de calcul a disposition. Sans parler de l'efficacité dans les applications graphiques et video.

En fait d'ailleurs la solution developpé dans l'article est meme incoherente car les Nvidia GT sont inadaptées pour du calcul pur (pas de controle d'erreur) faut des Quadro pour ça.
Enfin pour du développement ça peut le faire, mais les data sorties sont pas fiables.

Ce que dit @dtb06 n'est valable que pour l'affichage, car en utilisation pour du calcul GPGPU asynchrone la 980 sera autant exploité dans un serveur dedié (ce a quoi revient la solution presentée) que dans un PC.

avatar fanchig | 

@C1rc3@0rc

Les quadro ne sont pas adaptées pour le deep learning. Elles coûtent très cher et sont moins performantes que des titan pour ce type de calcul.

avatar Bigdidou | 

@fanchig

Ça ne sert à rien de répondre au monsieur. Moins il sait de quoi il parle, plus il est convaincu du contraire et s'étend sur le sujet. Et, de toute façon, il parait persuadé qu'il suffit qu'il pense quelque chose pour que ce soit vrai,ou que ça se réalise...

avatar C1rc3@0rc | 

@fanchig

Pourrais tu m'expliquer pourquoi les quadro ne sont pas adaptées la ou une titan le serait dans ce secteur ?
Et comment tu fais pour certifier le resultat sans ECC ?

avatar vrts | 

Les quadro ont moins de cudacores, chose la plus importante pour qui à besoin de puissance avec CUDA.

c'est la même chose pour les moteurs de rendu 3D GPU, avant la nouvelle serie des 1080, tout le monde utilisait des 980Ti qui avaient le meilleur rapport prix / puissance.

Maintenant ce sont les 1070 qui ont le meilleur rapport puissance prix. Tout le monde attend les 1080Ti (à moins qu'elles ne soient déjà sorties)

Les plus fortunés iront vers les Titans directement qui ont aussi plus de Vram, ce qui est assez important dans le rendu 3D GPU si vous avez des grosses scenes avec beaucoup de textures à calculer.

avatar C1rc3@0rc | 

Oui, mais ça c'est valable pour le traitement graphique. S'il y a une erreur qui affecte un pixel c'est pas un drame.
Dans le cadre de calcul GPGPU une erreur d'ecriture peut etre dramatique, et la y a besoin de l'assurance que donne les Quadro, dont la memoire ECC.
Et comme par definition en GPGPU on peut repartir la charge sur le plus grand nombre d'unités possibles et generalement en asynchrone, ben on additionne les Quadro dans un serveur a Xeon (ou POWER). Ca coute une blinde, mais au moins le calcul est garanti fiable. Et je t'assure que sur des calcul qui prennent des jours, t'as pas envi de devoir les relancer pour des question de non fiabilité de la memoire.

Donc j'attend l'argument de @fanchig sur le desavantage des Quadro pour le deep learning.

avatar cdp86 | 

@dtb06

C'est un choix. Tu peux ne pas être d'accord mais pourquoi tant de haine ? ^^

avatar dtb06 | 

Ce n'est pas de la haine. J'ai un PC avec une 390X, soit bien en dessous d'une 980Ti (la 390X est en gros aux performances de la 970 qui est en-dessous de la 980 qui est en-dessous de la 980Ti). On va dire que ma carte a les performances d'une 1060 à 200 euros. Et bien tous les tests que j'ai vus sur les eGPU avec des 980 donnaient des performances deux fois moins bonnes que sur mon PC. Donc en gros on achète une carte haut de gamme avec un boitier hors de prix pour avoir des performances d'une carte à 150 euros.
1700 euros ? Franchement les gens, sortez un peu voir ailleurs ce qui se passe !
Un PC avec un i7 Skylake, un SSD et 16Go de RAM, avec une carte graphique comme la 980Ti ça vaut 1300 euros maximum, et on explose les performances de ce MBP avec une carte graphique externe.

Et bien oui, pour moi c'est stupide et injustifiable.
Acheter un MBP pour la mobilité pourquoi pas, mais s'il faut rajouter 1700 euros pour une solution bricolée pour pouvoir travailler en fixe sur un écran 15 pouces, je rigole. A ce moment là il sera beaucoup plus performant de racheter un bon PC tour en plus.

Les Apple-fans c'est super : l'argument massue pour un Mac c'est que c'est simple et joli et ce n'est pas du bricolage. Et là on tape dans un truc avec une alim externe affreuse, des fichiers système à bidouiller, des pilotes tiers à installer, des MAJ système qu'il ne faut pas effectuer pour risque d'incompatibilité avec les pilotes, un branchement à chaud qui fait des Kernel Panic, enfibn la bonne panoplie de trucs foireux que les Mac-Users étaient les premiers à dénoncer sur Windows 98 à la fin du siècle dernier.

Ce truc Bizon, vous êtes tous aveugles ! Le site web est super mais c'est une arnaque !!!!!!!!!
C'est un boitier Thunderbolt AKiTiO modifié, avec une alim d'ordinateur Dell portable ! Ben oui c'est super joli ce site tout propre mais cherchez un peu par vous-même ! C'est une boîte Russe qui fait du bricolage, ils achètent un boitier TB, ils mettent une carte graphique PC et ajoutent une alim d'ordinateur avec une Dremel !

https://www.techinferno.com/index.php?/forums/topic/7921-rip-off-alert-bizon-box-2-is-an-overpriced-modified-akitio-thunder2-enclosure/

Bref, de la pigeonnade pour les pigeons. Mais allez-y sans moi, ne vous gênez pas, mettez 1700 euros dans une carte graphique de l'équivalent d'une 1060 plus récente à 209 euros, et faites-vous plaisir à désactiver le SIP, mettre les Webdrivers Nvidia, etc... tout ça pour des performances d'une pauvre carte à 150 euros.

EDIT : et pourquoi ils préconisent de l'utiliser avec un écran externe ? Par ce qu'avec l'écran interne on perd encore de la bande passante car on fait un aller-retour de l'image, et donc on se retrouve avec une carte basique à 50 euros même avec une TitanX dans le boitier.

avatar omarion-88 | 

@dtb06

Ouais ... c'est triste c'est un akitio thunder 2. Un boitier qui vaut 200 euro, avec une carte au alentour de 500 euro et une alim correcte à 30 euro, soit 730€ ... c'est du foutage de g....

Maintenant, il a pas trop chercher! Car on trouve le akitio node l'equivalent du razer core à 300€! (Alim intégré)

avatar marc_os | 

@ dtb06
« Les Apple-fans c'est super »
Et les « haters » en mal de reconnaissance (et moi et moi et moi) qui crachent dans la soupe des autres et tiennent absolument à les pourrir, ils commencent sérieusement à me gaver. :/

avatar macfredx | 

@marc_os

Tout comme moi. D'un pénible... ?
Dommage qu'on ne puisse les virer sur le site comme dans l'app. Du coup je ne consulte plus MacG que sur l'iPhone (ce qui, par la même occasion, m'épargne les pubs) ?

avatar dtb06 | 

Tu peux même suivre les news sur Mac 68K. C'est plus lent mais tu n'as pas tous les boulets.

avatar dtb06 | 

les 'haters' ? des gens qui disent juste que ce produit est une grosse arnaque Tu peux penser ce que tu veux, et si ça te fait plaisir tu peux juste acheter une 980Ti avec un boitier Thunderbolt à 1700 euros qui tournera à peine comme une 1060 à 200 euros.
Fais-toi plaisir.

avatar Digital-Monkee | 

@dtb06

Je suis d'accord que le gain de performances est loin d'égaler celui de la carte en natif mais on peut aussi considérer qu'un gain de temps de 30 à 40 fois peut largement valoir un investissement de 1700$ pour un professionnel.

avatar françois bayrou | 

"un gain de temps de 30 à 40 fois peut largement valoir un investissement de 1700$ pour un professionnel."

A ce professionnel avide de performances, et plein de liquidités, je dirais d'aller voir du côté de windows. Pour 2x moins cher il aura 2x mieux. Ah zut, on me dit dans l'oreillette que ce professionnel a décidé de ne travailler que sur OSX.

avatar Almux | 

Le Mac est fourni avec des softs excellents qui ouvrent des documents Windows et les enregistrent compatibles Windows.
Les softs Pro d'Apple sont excellents peu onéreux et donc très rentables.
L'un dans l'autre et toutes comparaisons faites, je fait partie de ceux et celles qui n'utilisent du Windows que contraints sous la menace... ou parce qu'un client veux absolument que j'utilise son matos.
Non, vraiment, Windows c'est un autre monde. PC pas chers, mais, mes nerfs se portent mieux sans... ?

avatar macfredx | 

@dtb06

Tu sais ce qui est bien ?
Réponse : tu n'es pas obligé de faire la même chose. Formidable, non ?

avatar geo44270 | 

Donc si j'ai bien suivi, un travail qui va 30 à 40 fois plus vite deviens 60 fois plus vite par magie dans la même phrase... et à 1700€ il a aussi vite fait de monter un hackintosh propre en fixe et garder son portable en plus car il dit en avoir besoin.

avatar wiwitop | 

Oui enfin un hackintosh c'est pas du tout plug and play. Il y a un minimum de taf.
Ensuite vu que ce logiciel tourne sur Windows, la seule raison qui justifierait d'avoir recours à un GPU externe c'est parce que OS X est obligatoire _ET_ que l'on ne veut qu'une machine.
Parce que sinon, il est plus malin de prendre une seconde machine. Soit un PC, soit si on tient absolument à utiliser ce soft sur OS X, un vieux Mac Pro.

avatar N1kod | 

@wiwitop

c'est une librairie d algo de data science "vulgairement". dispo sur plusieurs langages de programmation.

avatar Almux | 

La seul raison (et elle est excellente) c'est CUDA. Un soft gratos comme Blender (la plupart des autres softs du genre coûtent bonbon) est une vraie bombe avec un CG Nvidia. Les 1700.- de supplément sont amortis en un mois (à tout casser).

avatar Ali Ibn Bachir Le Gros | 

C'est à dire que pour le prix, vaut mieux s'acheter un vrai PC avec une vrai carte graphique. À moins d'être coincé par des logiciels qui ne tournent que sur Mac évidemment, mais autrement je pense que le PC est bien plus rentable.

avatar iPop | 

C'est carrément le prix d'un deuxième MacBook. ?

avatar perceval78 | 

Va trimbaler ton hackintosh. LOL.
L'argent n'est pas un problème semble-t-il, l'absence de nVidia sur mac par contre est rédhibitoire.
Qu'attend Apple pour elargir sa gamme avec des gpu nVidia ?
D'autant que le couple intel/nvidia marche tres bien cf. Asus.

avatar Almux | 

Tout à fait! Là, on paie le prix des manies à Ive, du trend de Tim et de l'abandon des excellents Mac Pro "camions" extensibles.

avatar N1kod | 

Sympa pour faire du machine / deep learning avec une grosse quantité de données meme si j'aurais pas fait ca. Je sais pas si un bon gros cluster aws en location a l heure serait pas plus rentable.

avatar 789qwe2 | 

Je pense que cela sert à rien.
A ce niveau de prix, autant prendre deux machines dont une portable.
Par ailleurs, pour utiliser une CG d'ancienne génération... beaucoup de bruit pour rien, cela fait juste plaisir aux fanboys. Bien du plaisir les petits :-)

avatar Almux | 

Tu veux dire un gros PC comme serveur/ferme de calcul... Ouais... Mais, les bons PCs ne sont pas donnés, non-plus...

avatar jean512 | 

Pour ceux qui voudrais faire du jeux vidéo vous pouvez oublier cette solution.
Déjà il faut minimum un MBP 15" pour avoir un cpu 4 coeurs, et puis ça coutera le meme prix d'avoir un ordinateur à part avec i5 et bonne carte graphique.

avatar Almux | 

Pour les jeux, mon gamin a reçu un PC. Pour l'école, il a un petit MBA.

avatar Tox | 

Le prix et les prestations en demi-teinte, ça laisse songeur quand on compare au Core de Razer... Mais pourquoi Apple ne fait-il pas le nécessaire pour proposer une telle solution sur MBP ???

avatar phdavid747 | 

C'est pourtant simple. Il suffirait de mettre une carte graphique digne de ce nom dans les derniers MacBook Pro... Au diable la finesse !

avatar Almux | 

Il faudrait carrément une autre gamme alors. Ce n'est pas du tout le même public.
Une grosse carte chauffe, grille moult KW et la bécane sera "portable" de la même façon que ceux des gamers. Une toute autres histoire!

avatar phdavid747 | 

Donc :
1. Le MacBook Pro n'est pas destiné à un public "pro"
2. Une carte graphique digne de ce nom chauffe, grille des KW et ne serait plus portable...

Pour ton information, le DELL XPS 9560 existe, parmi d'autres... On parle bien de la "même gamme" sans le "foutage de gu*ule" d'Apple.

https://www.amazon.com/Dell-XPS9560-7001SLV-PUS-15-6-Inch-Traditional-Laptop/dp/B01N1Q0M4O

avatar Bigdidou | 

@phdavid747
"le DELL XPS 9560 existe"

Si,j'étais pointilleux, et, qu'ayant suivi ton lien je sois tombé sur ça : "This item has not yet been released".
Je dirais que non, il n'existe pas (encore).
Il reste aussi à voir comment des machines aussi plates et légères chauffent, tiennent la charge, et durent avec le temps. Sans compter l'autonomie.
Ma fille a un portable de ce constructeur avec une grosse cg (un alienware) : la puissance est là (pour les jeux), mais c'est gros, lourd, et même avec plein de ventilateurs, il chauffe pas mal. L'autonomie est très faible lorsqu'elle joue, mais, ça, elle s'y attendait.

avatar BLM | 

D'accord avec Geo44970, ds la phrase «temps de calcul divisé par 30 à 40 ! « Je n’ai pas vérifié exactement, mais en gros pour un traitement qui me prenait 8–10 heures sur mon MacBook Pro 2016 2,6 GHz Core i7 16 Go de RAM, je suis passé à 8–10 minutes. » il y a un pb.
1h = 60 mn, donc 8-10mn est une durée 60 fois plus courte que 8-10h; le travail serait 60 fois plus rapide (& non pas 30-40)

avatar Almux | 

Bon! Rien que 20x plus rapide, ça irait déjà... donc: pas de quoi ergoter.

avatar fte | 

Intéressant. Ce n'est pas le premier compte rendu de ce type que je lis, la solution est intéressante. J'aimerais qu'Apple y pense un peu et propose quelque chose dans ce sens, officiel.

Cependant le prix est, hum, costaud. Pour le dire sympathiquement.

Les gains rapportés sont typiquement ceux qui m'ont poussé il y a 3 ans à me monter un PC. Je tapais dans le 50x avec des cartes en SLI, mais de la génération 700... maintenant le gain est très nettement supérieur avec la série 1000. Je pensais l'utiliser dans une situation spécifique pour résoudre un problème particulier, cette machine est finalement devenue ma machine principale... au moins cette personne n'a pas ce risque d'un switch de plateforme non anticipé. ;)

Bref. Un truc officiel, ça serait bien. Pas nécessairement un boîtier. Un support logiciel et des drivers adaptés. Mais bon. Je ne rêve plus. Et je n'en ai pas l'usage de toute manière.

avatar Bigdidou | 

@fte

Oui, voilà quelqu'un qui se définit des objectifs utilise tous les moyens à sa disposition pour les atteindre et y arrive.
Il décrit comment il a fait de façon intéressante, et le résultat de façon pondéré.

On voit d'ailleurs bien qu'il est arrivé à quelque chose d'intéressant grâce à un thermomètre infaillible : les bouseux des forums n'ont pas manifestement rien compris à la démarche du monsieur ("Et bien oui, pour moi c'est stupide et injustifiable", j'ai mon pc qui, il jette l'argent par les fenêtres, etc...)

Pages

CONNEXION UTILISATEUR