Intel et les GPU
Nous avons parlé des GPU de NVIDIA et des GPU d’AMD, deux sociétés renommées dans le monde des cartes graphiques. Mais le plus gros vendeur de GPU dans le monde n’est ni le premier ni le second, il s’agit… d’Intel. Le concepteur des processeurs x86 propose en effet des « cartes graphiques » depuis une bonne quinzaine d’années et a même plusieurs fois essayé de concurrencer les GeForce et les Radeon, avec quelques cartes graphiques dédiées. Intel, c’est avant tout des « cartes graphiques » intégrées dans des chipsets ou des processeurs, mais aussi une carte dédiée et un grand nombre de GPU. Si la société se traîne une réputation justifiée sur la (très) mauvaise qualité de ses pilotes, tout n’est pas si noir : depuis quelques années, les GPU Intel concurrencent les puces d’entrée de gamme de NVIDIA et AMD et les performances d’un Iris Pro 5200 sont loin d’être misérables, l’IGP se permettant d’être au niveau d’un GPU milieu de gamme de la concurrence. Si Intel se traîne encore quelques casseroles, il faut se rendre à l’évidence : le GMA 950 et ses prédécesseurs, c’est une époque révolue…
L’i740, la première carte dédiée d’Intel (1998)
En 1998, Intel se lance sur le marché des cartes graphiques, avec le GPU (même si le nom n’existait pas encore) i740 « Auburn ». La puce cadencée à 220 MHz supporte DirectX 5.0 et OpenGL 1.1, et apporte une nouveauté intéressante pour l’époque : un support correct de l’AGP. La carte dispose de peu de mémoire vidéo (typiquement 8 Mo), qui sert pour le framebuffer, alors que les textures sont stockées en RAM et accessibles via l’AGP. Cette solution empêche Intel de proposer des solutions PCI (la norme à l’époque) rapides, et l’I740 souffrait de gros problèmes de performances à cause de ses pilotes (déjà), ainsi que d’une qualité d’image assez douteuse et d’un RAMDAC lent. L’i740 a été un échec, même si Intel a essayé de forcer les constructeurs à vendre la carte en imposant l’achat de GPU avec les chipsets 440BX de l’époque.
- Le nom de code du jour : Auburn
i752 et chipset série 81x (1999)
Après l’i740, Intel a brièvement développé un second GPU dédié, l’i752 « Portola », mais ce dernier n’a été vendu que de façon confidentielle. Par contre, sa technologie a été utilisée dans une série de chipsets : les i810 (« Whitney ») et les i815 (« Solano »). Ces chipsets, dédiés à l’entrée de gamme, intégraient donc le GPU dans le northbridge (ce sont les premiers IGP Intel). Les performances dépendaient essentiellement de deux choses : la vitesse de la mémoire vive, souvent liée au FSB et donc au processeur, et la présence d’une barrette AIMM. Dans le premier cas, on a une bande passante de 533, 800 ou 1 066 Mo/s (SDRAM PC66, 100 ou 133) et dans le second, on a éventuellement une barrette de 4 Mo de mémoire vidéo interfacée directement en AGP x4 (1 066 Mo/s). Les performances des IGP de l’époque étaient très faibles, et les cartes à base de i810 ne proposaient pas d’AGP, uniquement du PCI pour une carte graphique dédiée.
Intel Extreme Graphics (2001)
En 2001, Intel commence à intégrer l’Extreme Graphics dans ses chipsets. Si la base est la même dans tous les cas (deux pipelines pour les pixels, la compatibilité OpenGL 1.3 et une décompression semi-matérielle du MPEG2), les performances dépendent énormément de la version du chipset. La première implémentation se fait dans les chipsets de la famille i830 (« Almador »), destinés aux Pentium III-M. La mémoire est de la SDRAM-PC133 (~1 Go/s) et le GPU est cadencé à 166 MHz. Dans les machines de bureau, Intel intègre le même GPU dans les chipsets de la famille 845 (« Brookdale »), destinés aux Pentium 4. La fréquence du GPU est plus élevée (200 MHz) et, quand de la DDR est utilisée, la bande passante augmente : 2,7 Go/s avec de la DDR333.
Intel Extreme Graphics 2 (2003)
Intel va réutiliser le même GPU dans deux lignes de chipsets. D’abord dans les chipsets qui accompagnent les premiers Pentium M, avec les i85x (« Montara »), et ensuite avec le i865 (« Springdale ») des Pentium 4. Dans le premier cas, l’Extreme Graphics 2 fonctionne entre 133 et 266 MHz avec (dans le meilleur des cas) de la DDR333, dans le second cas, le GPU est cadencé à 266 MHz et peut utiliser de la DDR400 sur deux canaux, ce qui donne une bande passante théorique de 6,4 Go/s. On est loin des performances des GeForce et autres Radeon de l’époque, mais c’est suffisant pour un usage 2D.
GMA 900 : pas d’Aero (2004)
En 2004, Intel dégaine le GMA900. Intégré dans les chipsets de la famille 915 (« Grantsdale »/« Alviso »), on l’a vu dans des machines de bureau, mais aussi, en 2007, dans le premier Eee PC. Ce GPU DirectX 9.0 n’était pas compatible avec Aero (l’interface de Windows Vista) car il lui manquait une fonction. Les performances du GMA900 étaient comme toujours très faibles, mais c’était le premier à supporte les pixel shader matériellement, alors que le support des vertex shader était laissé au CPU. On trouvait parfois des cartes d’extension destinée aux machines équipées d’un chipset avec un GPU GMA900 intégré, équipées d’une sortie DVI : le chipset ne gérait pas la norme et les composants dédiés étaient donc sur une carte séparée. Dans le meilleur des cas, le GPU fonctionnait à 333 MHz (133 MHz dans certains chipsets basse consommation) avec de la mémoire DDR ou DDR2 (selon les variantes).
GMA950 : du Pentium 4 à l’Atom (2005)
Le GMA950 a eu une longue vie : intégré dans les chipsets de la série 945 (« Lakeport »/« Calistoga »), ce GPU a été utilisé avec des Pentium 4, des Core Duo, des Core 2 Duo et — surtout — l’Atom. Il s’agit essentiellement d’un GMA900 amélioré : support des vertex shader 3.0 (via le CPU), support de toutes les fonctions de DirectX 9.0c (et donc d’Aero) et fréquences améliorées. Le GPU fonctionne entre 166 MHZ et 400 MHz (dans les machines de bureau) et est généralement couplé à de la DDR2-667 sur deux canaux. Ce GPU a été utilisé pendant très longtemps, car le i945 a été choisi par Intel comme chipset de référence pour les Atom de première génération.
GMA3000 : ne pas confondre avec les X3000 (2006)
Intel a continué à développer ses GMA9x0 sous le nom GMA 3xx0, à ne pas confondre avec les GMA X3x00. Les GPU de cette famille, sans le X donc, ne prennent pas en charge matériellement les vertex shaders et se limitent à un support via le CPU, comme le GMA950. Le GMA 3000 a été intégré dans quelques chipsets pour ordinateurs de bureau, le GMA 3100 dans quelques chipsets pour les ordinateurs portables et on a aussi retrouvé ce GPU dans les Atom de la seconde génération (Atom D4xx, D5xx, N4xx et N5xx), avec une intégration directe dans le CPU (GMA 3150). Les GMA de cette famille supportent peu de fonctions.
- Atom V2 (Pine Trail) : du mieux ?
GMA X3000 : enfin un support des vertex shader (2006)
La quatrième génération de GPU Intel porte le nom de GMA X3000. On trouve plusieurs variantes, mais les fonctions sont les mêmes : support des vertex shaders de façon matérielle (et plus uniquement via le CPU) et architecture unifiée. Le GMA X3000, intégré dans le chipset G965, se limite au Shader Model 3.0 et DirectX 9.0, alors que les GMA X3100 et X3500 (version mobile et version desktop) sont compatibles Shader Model 4.0 et DirectX 10.0. Enfin, la gestion du décodage vidéo varie en fonction des versions : les X3000 et X3100 décodent le VC1 partiellement, mais uniquement en version « Microsoft », alors que le X3500 décode le VC1 dans tous les cas. Le H.264 n’est par contre pas de la partie.
- Centrino Santa Rosa : le renouveau des portables ?
GMA (X)4500 : la HD arrive (2008)
Dernière génération de GPU Intel intégrée dans un chipset, la famille 4500. Il existe quatre versions du GPU : le GMA 4500 (chipset B et Q), le GMA X4500 (G41 et G43), le GMA X4500HD (G45) et enfin le GMA X4500MHD (les versions mobiles). Dans tous les cas, on a un GPU unifié, compatible DirectX 10.0 et OpenGL 2.0, et évidemment plus rapide que les GMA X3000. La fréquence varie de 400 MHz dans certaines versions mobiles à 800 MHz dans les versions desktop. La principale différence entre les versions vient du décodage des vidéos : le GMA 4500 et le GMA X4500 décodent partiellement le VC1 et le H.264, alors que le GMA X4500HD et le GMA X4500MHD ont un support complet des deux codecs.
- G45 contre GeForce 9400M
- Intel Centrino 2 : la preview
Intel HD, le premier intégré dans un CPU (2010)
L’Intel HD Graphics, sorti en 2010, est le premier GPU intégré dans le CPU, ou presque : il est en fait sur le même die que le processeur, mais est séparé. Il est gravé en 45 nm alors que le CPU lui-même est en 32 nm. On a dans tous les processeurs les mêmes fonctions, avec 12 unités de calcul et la compatibilité DirectX 10.0/OpenGL 2.1. La fréquence varie par contre en fonction des modèles : 500 MHz au maximum dans les puces à basse consommation et 900 MHz dans le modèle desktop le plus rapide (le Core i5-661). Intel segmente aussi ses puces sur le décodage vidéo : les versions intégrées dans un Pentium ou un Celeron ne peuvent pas décoder les vidéos matériellement.
- Core i5 et i3 mobile : enfin la fin des Core 2 Duo ?
- Nouvelle plateforme Calpella : un Core i7 mobile dans votre portable ?
Sandy Bridge (2011)
Avec Sandy Bridge, Intel segmente un peu plus ses GPU : les Celeron et Pentium intègrent un Intel HD (GT1 avec 6 unités de calcul, pas de décodage vidéo), Intel HD 2000 dans certaines machines de bureau (GT1 avec 6 unités de calcul, décodage et encodage matériel), Intel HD 3000 dans certaines machines de bureau et dans les versions mobiles (GT2 avec 12 unités de calcul, encodage et décodage vidéo) et enfin Intel HD P3000 dans quelques Xeon (GT2 avec 12 unités de calcul, encodage et décodage vidéo). La fréquence est variable (en fonction des puces, entre 350 MHz au minimum et 1 350 MHz au maximum) et le GPU supporte dans tous les cas DirectX 10.1, OpenGL 3.1 et les Shader Model 4.1.
- Intel Core 2000 : le test des Sandy Bridge
- Sandy Bridge mobile : aussi bon que les Core i7-2x00K ?
Ivy Bridge : OpenCL arrive (2012)
Avec Ivy Bridge, la segmentation est la même : Intel HD en entrée de gamme sur les Celeron et les Pentium (GT1 avec 6 unités de calcul, pas de décodage et d’encodage vidéo), Intel HD 2500 (GT1) en milieu de gamme (Xeon et certains processeurs desktop) avec 6 unités de calcul et l’encodage et le décodage matériel, l’Intel HD 4000 (GT2) en « haut de gamme » avec 16 unités de calcul et l’encodage/décodage, et enfin l’Intel HD P4000 (GT2) dans certains Xeon. En plus du gain obtenu avec l’augmentation du nombre d’unités, on gagne la compatibilité DirectX 11.0, le support des Shader Model 5.0 et d’OpenCL 1.2.
Haswell et la mémoire dédiée (2013)
Avec Haswell, Intel décline sa gamme à la manière des fabricants de cartes graphiques. Il y a d’abord le GT1 (Intel HD) sur les processeurs d’entrée de gamme — Celeron et Pentium — avec 10 unités et le décodage vidéo matériel (mais pas l’encodage). Le GT2 (20 unités de calcul) est vendu sous plusieurs noms : Intel HD 4200, Intel HD 4400 et Intel HD 4600. La différence vient des fréquences : sous 1 GHz avec un TDP très faible pour la version 4200, vers 1 GHz avec un TDP faible pour la version 4400 et jusqu’à 1,3 GHz avec un TDP classique pour la version 4600.
Le GT3, plus rapide, contient 40 unités de calcul. Il est soit vendu sous la marque Intel HD 5000 (dans les processeurs avec un TDP faible), soit sous le nom Iris 5100 dans les autres puces. Une variante équipée d’une mémoire eDRAM dédiée (plus exactement d’un cache de niveau 4 de 128 Mo) est aussi proposée, sous le nom Iris Pro 5200.
Enfin, Intel a aussi décliné son GPU dans certains Atom, avec seulement 4 unités et une fréquence faible (environ 700 MHz).
Broadwell : les GPU de huitième génération (2014)
Avec Broadwell, Intel continue à segmenter sa gamme : les CPU embarquent selon le cas un HD Graphics (GT1 avec 12 ou 16 unités de calcul), un HD Graphics 5300, 5500 ou 5600 (GT2 avec 23/24 unités de calcul), un HD Graphics 6000 ou Iris Graphics 6100 (GT3 avec 48 unités de calcul), ou encore un Iris Pro Graphics 6200, c’est à dire un GT3e avec 48 unités de calcul et 128 Mo de mémoire eDRAM intégrée.
Notons au passage que la gamme Xeon E3 v4 bénéficie également d’un GPU de huitième génération, à savoir un HD Graphics P5700 (GT2 avec 24 unités de calcul) ou un Iris Pro Graphics P6300 (GT3e avec 48 unités de calcul et 128 Mo d’eDRAM) selon le cas.
Chaque unité de calcul regroupe deux unités SIMD avec quatre FPU. De plus, chaque groupe de huit unités de calcul se partage 64 Ko de mémoire cache. Ces GPU supportent les API DirectX 12, OpenGL 4.4 et OpenCL 2.0.
Skylake : les GPU de neuvième génération (2015)
Les Skylake bénéficie tous d’un GPU de neuvième génération, et la segmentation est toujours de la partie : on trouve selon le cas un HD Graphics, HD Graphics 510 (GT1 avec 12 unités de calcul), HD Graphics 515, HD Graphics 520, HD Graphics 530 (GT2 avec 24 unités de calcul), HD Graphics P530 et P580 (pour les modèles de processeurs destinés au marché des serveurs), Iris 540 et 550, ou encore Iris Pro 580.
Ces GPU supportent DirectX 12.0, OpenGL 4.4 et OpenCL 2.0. Comme avec la gamme précédente, chaque unité de calcul regroupe deux unités SIMD avec quatre FPU, et chaque groupe de huit unités de calcul se partage 64 Ko de mémoire cache.
Du PowerVR chez Intel
En plus de ses GPU « maison », Intel a aussi utilisé des GPU PowerVR sous licence. Le GMA 500 et le GMA 600 sont basés sur le core PowerVR SGX535, compatible DirectX 9.0 et intégré dans un chipset (« Poulsbo ») ou directement dans le CPU. Dans les Atom Medfield, Intel a utilisé le PowerVR SGX540, plus rapide, et le PowerVR SGX545 a été utilisé dans les Atom Cedar Trail (sous le nom GMA 3600 et 3650) et les Atom Clover Trail. Actuellement, Intel tend par contre à utiliser ses propres solutions, les dernières générations d’Atom intègrent un GPU Intel, basé sur celui d’Haswell.
- Intel Atom : le processeur économe
- Voyage au coeur de l’Atom Centrino
Larrabee
Nous ne pouvions pas terminer ce panorama sans parler de Larrabee. À la fin de la première décennie des années 2000, Intel voulait développer un GPU basé sur une architecture x86, Larrabee. Ce GPU intégrait des dizaines de cores dérivés du Pentium original et devait concurrencer les cartes graphiques haut de gamme de NVIDIA et AMD. Mais le projet a pris du retard, les performances étaient a priori assez moyennes et Intel a donc abandonné le projet « GPU » en 2009. Larrabee n’a pas pour autant été abandonné : les travaux ont permis à Intel de concevoir les Xeon Phi, des cartes dédiées au calcul, à la manière des Tesla de NVIDIA, qui sont des cartes graphiques sans sortie vidéo…
- Larrabee : le nouveau GPU d’Intel
- Larrabee côté software
Les derniers articles