Lotharedon

Journal d'un apprenti-sorcier en Sciences Informatiques

Hardware : utiliser une carte graphique externe

Date 07/03/2014

Suite au décé de ma carte mère, et à cause de l'arrêt de la production et de la vente de produits équivalents, considérés comme obsolètes, je me suis intéressé aux solutions de GPU externes (ou encore eGPU) pour pouvoir utiliser ma carte graphique avec mon ordinateur portable. Je vais donc commencer par donner quelques chiffres en terme de bande passante, avant de parler des produits existants.


Bande passante, quelques chiffres

Pour avoir une solution de eGPU efficace, il est important que la latence, induite par le type de connectique, soit faible. Pour pouvoir comparer les différentes solutions, nous allons voir ici les débits théoriques des différentes connectiques.


PCI-Express

Tout d'abord le PCI-Express, connectique générale des cartes graphiques modernes. Il en existe actuellement trois générations, qui ne se différencient que par la bande passante maximale.
  • la première génération date de 2004, et autorise des débits de 250 Mo/s par ligne ; il existe assez peu de carte graphique dans ce format, étant produite en ce temps en AGP
  • la deuxième génération date de 2007, et autorise des débits de 500 Mo/s par ligne ; sauf si vous venez du futur, si votre carte graphique est au format PCI-Express, elle utilise cette version
  • la toirième génération date de 2010, et autorise des débits de 1 Go/s par ligne ; au moment où j'écris ces lignes, cette version est très peu utilisée.

Le PCI-Express est une connectique de type série, qui utilise plusieurs lignes de données, ce qui permet d'augmenter les débits. Il peut y avoir 1, 2, 4, 8, 16, ou 32 lignes, notées respectivement x1, x2, x4, x8, x16, ou x32.
Concrètement, pour obtenir la bande passante maximale, il faut multiplier celle de la génération au nombre de lignes. Par exemple, une carte graphique en PCI-Express x16, aura une bande passante maximale possible de 16x500 = 8000 Mo/s, soit environ 8Go/s.

Toujours en terme de bande, une connectique PCI-E x1 de seconde génération sera équivalente à une connectique PCI-E x2 de première génération. Cette connectique est également compatible entre ses différentes générations, et ses différentes versions. Par exemple une carte graphique PCI-E x16 de seconde génération peut communiquer avec un port PCI-E x1 de première génération, à condition d'utiliser un adaptateur pour pamier à la différence de taille des connecteurs


ExpressCard

Souvent, les solutions d'eGPU proposés se connectent via le port ExpressCard. Actuellement il en existe deux générations qui correspondent aux versions de PCI-E de même génération et fournissent des bandes passantes différentes.
Concrètement, un port ExpressCard de première génération fournit une bande passante maximale de 200 Mo/s, contre 400 Mo/s pour la seconde génération.


USB

À titre informatif, voici les débits des différentes version de l'USB :
  • USB 1.0 : créé en 1996, il a une bande passante de 0.19 Mo/s
  • USB 1.1 : créé en 1998, il a une bande passante de 1.5 Mo/s
  • USB 2.0 : créé en 2000, il a une bande passante de 60 Mo/s
  • USB 3.0 : créé en 2008, il a une bande passante de 600 Mo/s
  • USB 3.1 : créé en 2013, il a une bande passante de 1.2 Go/s, mais aucun périphérique ne l'utilise pour le moment


Thunderbolt

Une autre solution de connectique possible est le Thunderbolt. Actuellement, il permet une bande passante de 1.250 Go/s.


Les solutions existantes

Après avoir introduit le sujet avec les différentes bandes passantes disponibles, voici les différentes solutions existantes.


PE4H / PE4L

Ce sont deux familles proche de contrôleurs, vendu entre autre ici, et testés sur notebookreview. Pour s'interfacer, ils utilisent des sorties mini-HDMI et ses adaptateurs vers différents ports. Ils sont compatibles avec Windows XP/Vista/7, mais aussi GNU/Linux.

Des optimisations ont été conçues pour augmenter les performances. La plus notable d'entre elle est l'utilisation de l'Optimus. Elle fonctionne avec la famille de contrôleurs PE4H en PCI-E de première ou seconde génération, mais uniquement avec une seule ligne (en x1). Cette fonctionnalité permet également d'obtenir le rendu finale sur l'ordinateur connecté et non sur un écran externe supplémentaire.

Ces contrôleurs existent en différentes versions, dont en voici les plus intéressantes :

PE4H v3.2

Permet d'interfacer une carte PCI-E x16 à un port ExpressCard de seconde génération. La bande passante utilisée sera celle du PCI-E x1 de seconde génération.
Avec cet adaptateur peuvent être fournis une alimentation externe et un boîtier.

Coût total sans option : 170$

PE4H v2.4

Permet d'interfacer une carte PCI-E x16 à un port ExpressCard de première génération, mPCI-E, ou encore PCI-E x1. La bande passante utilisée sera celle du PCI-E de première génération. Ce module propose quatre prises mini-HDMI, ce qui permet de mettre en place du PCI-E x1, x2, et x4.

Coût total sans option et n'utilisant qu'une seule voie : 91$

PE4L

Permet d'interfacer une carte PCI-E x1 de seconde génération à un port ExpressCard de seconde génération, mPCI-E, ou PCI-E x1, x2, x4, x8, ou x16.

Coût total sans option : 70$

Villagetronic ViDock3/4/plus

Villagetronic propose trois docks nommés ViDock 3, ViDock 4 et ViDock 4 plus. Concrètement, ces adaptateurs utilisent un contrôleur PE4L, avec un boîtier et une alimentation.

Coût total sans option :
  • ViDock 3 : 199$
  • ViDock 4 : 239$
  • ViDock 4 plus : 279$

mLogic

mLogic propose des adaptateurs utilisant un ou deux Thunderbolt. Les adaptateurs proposés sont conçus pour MacBook et MacBook Pro. La version de base, équipé d'un seul port Thunderbolt coûte 399$, et inclu un boîtier assorti aux designs de Apple et une alimentation.

Autre

Il existe d'autres fabriquant pour ce type de contrôleurs, mais moins intéressant en terme de débit et de coût. Cependant leurs solutions peuvent correspondre à des usages différents, comme l'utilisation du port ethernet, ou l'interfaçage de plusieurs cartes (attention à la bande passante !).


Conslusion

La solution parfaite n'existe pas pour le moment, à cause de l'absence de standardisation d'un port dédié à cet usage. Cependant, avec les évolutions futures de Thunderbolt et les débits qu'il vise, il est possible qu'il devienne la connectique principale de ce type d'usage.

Tags Tags de l'article :

Aucun commentaire

Comment RSS feed Flux RSS des commentaires de cet article