Graphics Core Next

Un article de Wikipédia, l'encyclopédie libre.

Graphics Core Next (GCN) est le nom d'une série de microarchitectures et d'un jeu d'instructions, développés par AMD pour leurs GPU. GCN succède à TeraScale.

GCN est une microarchitecture RISC SIMD, contrastant avec l'architecture VLIW SIMD de TeraScale[1]. GCN nécessite beaucoup plus de transistors que TeraScale, mais offre des avantages pour les calculs sur GPU à usage général (GPGPU) grâce à un compilateur plus simple.

Les puces graphiques GCN ont été fabriquées en CMOS à 28 nm et en FinFET à 14 nm (par Samsung Electronics et GlobalFoundries) et en 7 nm (par TSMC), disponibles sur certains modèles de cartes graphiques AMD Radeon HD 7000, HD 8000 (en), 200, 300, 400 (en), 500 (en) et Vega (en), y compris la Radeon VII sortie séparément. GCN a également été utilisé dans la partie graphique des unités de traitement accéléré (APU), y compris celles de la PlayStation 4 et de la Xbox One.

Microarchitectures[modifier | modifier le code]

En date de juillet 2017, le jeu d’instructions de Graphics Core Next a connu cinq itérations. Les différences entre les quatre premières générations sont plutôt minimes, mais l’architecture GCN de cinquième génération comporte des processeurs de flux fortement modifiés pour améliorer les performances et prendre en charge le traitement simultané de deux nombres de précision inférieure au lieu d’un seul nombre de plus haute précision[2].

Traitement des commandes graphiques[modifier | modifier le code]

Traitement des commandes dans GCN : chaque moteur de calcul asynchrone (ACE) analyse les commandes entrantes et répartit le travail vers les unités de calcul (CU). Chaque ACE peut gérer jusqu’à 8 files d’attente indépendantes. Les ACE peuvent fonctionner en parallèle avec le processeur de commandes graphiques et deux moteurs DMA. Le processeur de commandes graphiques gère les files d’attente graphiques, les ACE gèrent les files d’attente de calcul et les moteurs DMA gèrent les files d’attente de copie. Chaque file d’attente peut distribuer des éléments de travail sans attendre la fin d’autres tâches, ce qui permet d’entrelacer des flux de commandes indépendants sur le shader du GPU.

Processeur de commandes graphiques[modifier | modifier le code]

Le processeur de commandes graphiques (GCP, Graphics Command Processor) est une unité fonctionnelle de la microarchitecture GCN. Il est notamment responsable de la gestion des shaders asynchrones[3].

Moteur de calcul asynchrone[modifier | modifier le code]

Le moteur de calcul asynchrone (ACE, Asynchronous Compute Engine) est un bloc fonctionnel distinct servant à des fins informatiques, dont l’objectif est similaire à celui du processeur de commandes graphiques.

Ordonnanceurs[modifier | modifier le code]

Depuis la troisième itération de GCN, le matériel contient deux ordonnanceurs : l’un pour planifier les « fronts d’onde » pendant l’exécution du shader (le CU Scheduler, ou Compute Unit Scheduler) et l’autre pour planifier l’exécution des files d’attente de dessin et de calcul. Ce dernier améliore les performances en exécutant des opérations de calcul lorsque les unités de calcul (CU) sont sous-utilisées en raison de commandes graphiques limitées par la vitesse ou la bande passante du pipeline à fonction fixe. Cette fonctionnalité est connue sous le nom de calcul asynchrone.

Pour un shader donné, les pilotes GPU peuvent également programmer des instructions sur le CPU afin de minimiser la latence.

Processeur de géométrie[modifier | modifier le code]

Processeur de géométrie.

Un processeur de géométrie contient un assembleur de géométrie, un Tesselateur et un assembleur de sommets.

Le Tesselateur est capable de faire de la tessellation matérielle telle que définie par Direct3D 11 et OpenGL 4.5[4], et a succédé à ATI TruForm (en) et à la tessellation matérielle dans TeraScale.

Unités de calcul[modifier | modifier le code]

Une unité de calcul (CU) combine 64 processeurs de shader avec 4 unités de mappage de texture (TMU)[5],[6]. Les unités de calcul sont séparées des unités de sortie de rendu (ROP), mais les alimentent[6]. Chaque unité de calcul se compose des éléments suivants :

  • un ordonnanceur de CU
  • une unité de branchement et de messages
  • 4 unités vectorielles SIMD de 16 voies de large (SIMD-VU)
  • 4 fichiers VGPR (Vector General-Purpose Register) de 64 ko
  • 1 unité scalaire (SU)
  • un fichier GPR scalaire de 8 ko[7]
  • un fichier de partage de données local de 64 Ko
  • 4 unités de filtrage de texture
  • 16 unités de récupération-chargement/stockage de texture
  • un cache de niveau 1 (L1) de 16 ko

Quatre unités de calcul sont câblées pour partager un cache d’instructions L1 de 16 ko et un cache de données L1 de 32 ko, tous deux en lecture seule. Un SIMD-VU traite 16 éléments à la fois (par cycle), tandis qu’un SU traite un seul élément à la fois (un/cycle). De plus, le SU gère d’autres opérations, telles que le branchement[8].

Chaque SIMD-VU dispose d’une mémoire privée où il stocke ses registres. Il existe deux types de registres : les registres scalaires (S0, S1, etc.), qui contiennent chacun un nombre de 4 octets, et les registres vectoriels (V0, V1, etc.), qui représentent chacun un ensemble de 64 nombres de 4 octets. Sur les registres vectoriels, chaque opération se fait en parallèle sur les 64 nombres, ce qui correspond à 64 entrées. Par exemple, il peut fonctionner sur 64 pixels différents à la fois.

Chaque SIMD-VU possède 512 registres scalaires et 256 registres vectoriels.

AMD indique que chaque unité de calcul (CU) de GCN dispose d’un fichier de partage de données local (LDS) de 64 ko[9].

Ordonnanceur de CU[modifier | modifier le code]

L’ordonnanceur de CU est le bloc fonctionnel matériel qui choisit les fronts d’onde exécutés par le SIMD-VU. Il sélectionne un SIMD-VU par cycle pour l'ordonnancement. Il ne doit pas être confondu avec d’autres ordonnanceurs matériels ou logiciels.

« Front d'onde »[modifier | modifier le code]

Un shader est un petit programme écrit en GLSL qui effectue un traitement graphique, et un noyau de calcul (en) est un petit programme écrit en OpenCL qui effectue un traitement GPGPU. Ces processus n’ont pas besoin de tellement de registres, mais ils ont besoin de charger des données à partir de la mémoire système ou graphique. Cette opération s’accompagne d’une latence importante. AMD et Nvidia ont choisi des approches similaires pour masquer cette latence inévitable : le regroupement de plusieurs threads. AMD appelle un tel groupe un « front d'onde », tandis que Nvidia l’appelle un « warp ». Un groupe de threads est l’unité de planification la plus élémentaire des GPU qui implémentent cette approche pour masquer la latence. Il s’agit de la taille minimale des données traitées à la manière SIMD, de la plus petite unité de code exécutable et de la façon de traiter une seule instruction sur tous les threads qu’elle contient en même temps.

Dans tous les GPU GCN, un « front d'onde » se compose de 64 threads, et dans tous les GPU Nvidia, un « warp » se compose de 32 threads.

La solution retenue par AMD est d’attribuer plusieurs fronts d'onde à chaque SIMD-VU. Le matériel distribue les registres aux différents fronts d’onde, et lorsqu’un front d’onde attend un résultat qui se trouve en mémoire, l'ordonnanceur de CU attribue au SIMD-VU un autre front d’onde. Les fronts d’onde sont attribués par SIMD-VU. Les SIMD-VU n’échangent pas de front d’onde. Un maximum de 10 fronts d’onde peuvent être attribués par SIMD-VU (donc 40 par CU).

AMD CodeXL (en) affiche des tableaux avec la relation entre le nombre de SGPR et de VGPR par rapport au nombre de fronts d’onde, mais essentiellement, pour SGPRS, il est compris entre 104 et 512 par nombre de fronts d’onde, et pour VGPRS, il est de 256 par nombre de fronts d’onde.

On notera qu’en conjonction avec les instructions SSE, ce concept du niveau le plus élémentaire de parallélisme est souvent appelé une « largeur de vecteur ». La largeur du vecteur est caractérisée par le nombre total de bits qu’elle contient.

Unité vectorielle SIMD[modifier | modifier le code]

Chaque unité vectorielle SIMD possède :

  • une unité arithmétique et logique (ALU) vectorielle à 16 voies entier et virgule flottante
  • Un fichier VGPR (Vector General Purpose Register) de 64 ko
  • 10× compteurs de programme 48 bits
  • Un tampon d’instructions pour 10 fronts d'onde (chaque front d’onde est un groupe de 64 threads, soit la taille d’un VGPR logique)
  • un front d’onde de 64 threads parcourt une unité SIMD à 16 voies en quatre cycles.

Chaque SIMD-VU dispose de 10 tampons d’instructions de front d’onde, et il faut 4 cycles pour exécuter un front d’onde.

Blocs d’accélération audio et vidéo[modifier | modifier le code]

De nombreuses implémentations de GCN sont généralement accompagnées de plusieurs autres blocs ASIC d’AMD. Y compris, mais sans s’y limiter, Unified Video Decoder (en) (UVD, décodeur vidéo unifié), le Video Coding Engine (en) (VCE, moteur de codage vidéo) et TrueAudio (en).

Moteur de codage vidéo[modifier | modifier le code]

Le moteur de codage vidéo est un ASIC d’encodage vidéo, introduit pour la première fois avec la série Radeon HD 7000[10].

La version initiale de VCE a ajouté la prise en charge de l’encodage des trames I et P de H.264 au format de pixels YUV420, ainsi que l’encodage temporel SVE et le mode d’encodage d’affichage, tandis que la deuxième version a ajouté la prise en charge des trames B pour les trames I YUV420 et YUV444.

VCE 3.0 faisait partie de la troisième génération de GCN, ajoutant une mise à l’échelle vidéo de haute qualité et le codec HEVC (H.265).

VCE 4.0 faisait partie de l’architecture Vega, et a ensuite été remplacé par Video Core Next (en).

Mémoire virtuelle unifiée[modifier | modifier le code]

Dans un article paru en 2011, AnandTech a présenté la mémoire virtuelle unifiée prise en charge par Graphics Core Next[11].

Générations[modifier | modifier le code]

Graphics Core Next 1[modifier | modifier le code]

Die shot du GPU Tahiti utilisé dans les cartes graphiques Radeon HD 7950 GHz Edition

La microarchitecture GCN 1 a été utilisée dans plusieurs cartes graphiques de la famille Radeon HD 7000.

Des moteurs de calcul asynchrones contrôlent le calcul et la répartition de la charge[8],[16].

ZeroCore Power[modifier | modifier le code]

ZeroCore Power est une technologie d’économie d’énergie à long terme, qui éteint les unités fonctionnelles du GPU lorsqu’elles ne sont pas utilisées[17]. La technologie AMD ZeroCore Power complète PowerTune (en).

Puces[modifier | modifier le code]

GPU discrets (famille Southern Islands) :

  • Hainan
  • Oland
  • Cap-Vert
  • Pitcairn
  • Tahiti

Graphics Core Next 2[modifier | modifier le code]

Principe de fonctionnement de PowerTune (en) sur "Bonaire"
Die shot du GPU Hawaii utilisé dans les cartes graphiques Radeon R9 290

La 2e génération de GCN a été introduite avec la Radeon HD 7790 et se trouve également dans les Radeon HD 8770, R7 260/260X, R9 290/290X, R9 295X2, R7 360 et R9 390/390X, ainsi que dans les APU pour PC de bureau « Kaveri » et pour PC portables « Kaveri » basés sur Steamroller ainsi que dans les APU « Beema » et « Mullins » basés sur Puma. Elle présente plusieurs améliorations par rapport au GCN d’origine, notamment la prise en charge de FreeSync, TrueAudio (en) et une version révisée de la technologie PowerTune (en).

La 2e génération de GCN a introduit une entité appelée « Shader Engine » (SE, moteur de shader). Un moteur de shader comprend un processeur de géométrie, jusqu’à 44 « Compute Units » (CU, unités de calcul) (puce Hawaï), des rastériseurs, des ROP et un cache L1. Le processeur de commandes graphiques, les 8 ACE (Asynchronous Compute Engine), les contrôleurs de cache L2 et de mémoire ainsi que les accélérateurs audio et vidéo, les contrôleurs d’affichage, les 2 contrôleurs DMA et l’interface PCIe ne font pas partie d’un moteur de shader.

L’A10-7850K « Kaveri » contient 8 CU (unités de calcul) et 8 ACE (moteurs de calcul asynchrones) pour une planification indépendante et une répartition des éléments de travail[18].

Lors de l’AMD Developer Summit (APU) en novembre 2013, Michael Mantor a présenté la Radeon R9 290X[19] .

Puces[modifier | modifier le code]

GPU discrets (famille Sea Islands) :

  • Bonaire
  • Hawaï

Intégrées dans les APU :

  • Temash
  • Kabini
  • Liverpool (l’APU que l’on trouve dans la PlayStation 4)
  • Durango (l’APU que l’on trouve dans la Xbox One et la Xbox One S)
  • Kaveri
  • Godavari
  • Mullins
  • Beema
  • Carrizo-L

Graphics Core Next 3[modifier | modifier le code]

Die shot du GPU Fidji utilisé dans les cartes graphiques Radeon R9 Nano.

La 3e génération GCN[20] a été introduite en 2014 avec les Radeon R9 285 et R9 M295X, équipés du GPU « Tonga ». Elle offre des performances de tessellation améliorées, une compression des couleurs delta sans perte pour réduire l’utilisation de la bande passante mémoire, un jeu d’instructions mis à jour et plus efficace, un nouveau scaler de haute qualité pour la vidéo, l’encodage HEVC (VCE 3.0) et le décodage HEVC (UVD 6.0), ainsi qu’un nouveau moteur multimédia (encodeur/décodeur vidéo). La compression des couleurs delta est prise en charge dans Mesa[21]. Cependant, ses performances en double précision sont moins bonnes que celles de la génération précédente[22].

Puces[modifier | modifier le code]

GPU discrets :

intégrées dans les APU :

Graphics Core Next 4[modifier | modifier le code]

Die shot du GPU Polaris 11 utilisé dans les cartes graphiques Radeon RX 460.
Die shot du GPU Polaris 10 utilisé dans les cartes graphiques Radeon RX 470.

Les GPU de la famille Arctic Islands ont été introduits au deuxième trimestre 2016 avec la série Radeon Rx 400 (en). Le moteur 3D (c’est-à-dire le GCA (Graphics and Compute array) ou GFX) est identique à celui que l’on trouve dans les puces Tonga[24], mais Polaris dispose d’un moteur de contrôleur d’affichage plus récent, UVD version 6.3, etc.

Toutes les puces basées sur Polaris autres que la Polaris 30 sont produites selon le procédé FinFET 14 nm, développé par Samsung Electronics et concédé sous licence à GlobalFoundries[25]. Le Polaris 30, légèrement plus récent, est construit sur le nœud de procédé FinFET LP 12 nm, développé par Samsung et GlobalFoundries. L’architecture du jeu d’instructions GCN de quatrième génération est compatible avec la troisième génération. Il s’agit d’une optimisation pour le procédé FinFET 14 nm permettant des fréquences d’horloge GPU plus élevées qu’avec la 3e génération GCN[26]. Les améliorations architecturales comprennent de nouveaux planificateurs matériels, un nouvel accélérateur de rejet de primitive, un nouveau contrôleur d’affichage et un UVD mis à jour qui peut décoder HEVC à des résolutions 4K à 60 images par seconde avec 10 bits par canal de couleur.

Puces[modifier | modifier le code]

GPU discrets[27] :

  • Polaris 10 (également nom de code Ellesmere) que l’on trouve sur les cartes graphiques de marque « Radeon RX 470 » et « Radeon RX 480 »
  • Polaris 11 (également nom de code Baffin) que l’on trouve sur les cartes graphiques de marque « Radeon RX 460 » (également Radeon RX 560D)
  • Polaris 12 (également nom de code Lexa) que l’on trouve sur les cartes graphiques de marque « Radeon RX 550 » et « Radeon RX 540 »
  • Polaris 20, qui est un Polaris 10 rafraîchi (procédé FinFET 14 nm LPP Samsung/GloFo) avec des fréquences d'horloge plus élevées, utilisé pour les cartes graphiques de marque « Radeon RX 570 » et « Radeon RX 580 »[28].
  • Polaris 21, qui est un Polaris 11 rafraîchi (procédé FinFET 14 nm LPP Samsung/GloFo), utilisé pour les cartes graphiques de marque « Radeon RX 560 »
  • Polaris 22, que l’on trouve sur les cartes graphiques de marque « Radeon RX Vega M GH » et « Radeon RX Vega M GL » (dans le cadre de Kaby Lake-G)
  • Polaris 23, qui est un Polaris 12 rafraîchi (procédé FinFET 14 nm LPP Samsung/GloFo), utilisé pour les cartes graphiques de marque « Radeon Pro WX 3200 » et « Radeon RX 540X » (également Radeon RX 640)
  • Polaris 30, qui est un Polaris 20 rafraîchi (procédé FinFET 12 nm LP GloFo ) avec des fréquences d'horloge plus élevées, utilisé pour les cartes graphiques de marque « Radeon RX 590 ».

En plus des GPU dédiés, Polaris est utilisé dans les APU de la PlayStation 4 Pro et de la Xbox One X, intitulés respectivement « Neo » et « Scorpio ».

Graphics Core Next 5[modifier | modifier le code]

Radeon RX Vega (en)

Die shot du GPU Vega 10 utilisé dans les cartes graphiques Radeon RX Vega 64.

AMD a commencé à publier les détails de sa prochaine génération d’architecture GCN, appelée « unité de calcul de nouvelle génération », en janvier 2017[26],[29],[30]. On s’attendait à ce que la nouvelle conception augmente le nombre d’instructions par cycle (IPC), des fréquences d’horloge plus élevées, la prise en charge de HBM2 (en), un espace d'adressage mémoire plus grand. Les chipsets graphiques discrets incluent également « HBCC (High Bandwidth Cache Controller) », mais pas lorsqu’ils sont intégrés dans des APU. De plus, les nouvelles puces devaient inclure des améliorations dans les unités de sortie de rastérisation et de rendu. Les processeurs de flux sont fortement modifiés par rapport aux générations précédentes pour prendre en charge la technologie mathématique Rapid Pack Math pour les nombres 8 bits, 16 bits et 32 bits. Cela permet d’obtenir un avantage significatif en termes de performances lorsqu’une précision inférieure est acceptable (par exemple, le traitement de deux nombres en demi-précision à la même vitesse qu’un seul nombre en simple précision).

Nvidia a introduit la rastérisation basée sur les tuiles et le binning avec Maxwell, et c'est une importante raison de l’augmentation de l’efficacité de Maxwell. En janvier, AnandTech a supposé que Vega rattraperait enfin Nvidia en ce qui concerne les optimisations de l’efficacité énergétique grâce au nouveau « DSBR (Draw Stream Binning Rasterizer) » qui sera introduit avec Vega[31].

Il a également ajouté la prise en charge d’une nouvel étage de shader - les shaders de primitive[32],[33]. Les shaders de primitive offrent un traitement de géométrie plus flexible et remplacent les shaders de vertex et de géométrie dans un pipeline de rendu. En décembre 2018, les shaders de primitive ne pouvaient pas être utilisés, car les modifications d’API requises n’avaient pas encore été effectuées[34].

Vega 10 et Vega 12 utilisent le procédé FinFET 14 nm, développé par Samsung Electronics et concédé sous licence à GlobalFoundries. Vega 20 utilise le procédé FinFET 7 nm développé par TSMC.

Puces[modifier | modifier le code]

GPU discrets :

  • Vega 10 (procédé FinFET 14 nm Samsung/GloFo) (également nom de code Groenland[35]) trouvé sur les cartes graphiques « Radeon RX Vega 64 », « Radeon RX Vega 56 », « Radeon Vega Frontier Edition », « Radeon Pro V340 », Radeon Pro WX 9100 et Radeon Pro WX 8200,
  • Vega 12 (procédé FinFET 14 nm Samsung/GloFo) que l’on trouve sur les cartes graphiques pour PC portables de marque « Radeon Pro Vega 20 » et « Radeon Pro Vega 16 »[36]
  • Vega 20 (procédé FinFET 7 nm TSMC) que l’on trouve sur les cartes d’accélération de marque « Radeon Instinct MI50 » et « Radeon Instinct MI60 »[37], « Radeon Pro Vega II » et les cartes graphiques de marque « Radeon VII »[38].

intégrées dans les APU :

  • Raven Ridge[39] est livré avec VCN 1 qui remplace VCE et UVD et permet un décodage à fonction fixe complet de VP9.

Performances de calcul en fonction de la précision[modifier | modifier le code]

Les performances en virgule flottante double précision (FP64) de tous les GPU GCN de 5e génération, à l’exception de Vega 20, représentent un seizième des performances en FP32. Pour Vega 20 avec Radeon Instinct, c’est la moitié des performances en FP32. Pour Vega 20 avec Radeon VII, c’est un quart des performances en FP32[40]. Tous les GPU GCN de 5e génération prennent en charge les calculs en virgule flottante demi-précision (FP16), avec deux fois plus de performances qu'en FP32.

Notes et références[modifier | modifier le code]

  1. (en) Abheek Gulati, « An Architectural Deep-Dive into AMD's TeraScale, GCN & RDNA GPU Architectures », sur Medium, (consulté le )
  2. (en) Ryan Smith, « The AMD Vega GPU Architecture Preview », sur Anandtech.com, (consulté le )
  3. (en) Ryan Smith, « AMD Dives Deep On Asynchronous Shading », sur Anandtech.com (consulté le )
  4. (en) « Conformant Products », sur Khronos.org,
  5. (en) Compute Cores Whitepaper, AMD, (lire en ligne), p. 5
  6. a et b (en) Ryan Smith, « AMD's Graphics Core Next Preview », sur Anandtech.com, (consulté le )
  7. (en) « AMD's Graphics Core Next (GCN) Architecture », sur TechPowerUp (consulté le )
  8. a et b (en) Michael Mantor et Mike Houston, « AMD Graphics Core Next », AMD, (consulté le ) : « Asynchronous Compute Engine (ACE) », p. 40
  9. (en-GB) « Optimizing GPU occupancy and resource usage with large thread groups », sur AMD GPUOpen (consulté le )
  10. (en) « White Paper AMD UnifiedVideoDecoder (UVD) », (consulté le )
  11. a et b (en) « Not Just A New Architecture, But New Features Too », AnandTech, (consulté le )
  12. (en) « Kaveri microarchitecture », SemiAccurate,
  13. (en) « AMD Radeon HD 7000 Series to be PCI-Express 3.0 Compliant », TechPowerUp (consulté le )
  14. (en) « AMD Details Next Gen. GPU Architecture » (consulté le )
  15. (en) Tony Chen et Jason Greaves, « AMD's Graphics Core Next (GCN) Architecture », AMD (consulté le )
  16. (en) « AMD's Graphics Core Next Preview: AMD's New GPU, Architected For Compute », AnandTech, (consulté le ) : « AMD's new Asynchronous Compute Engines serve as the command processors for compute operations on GCN. The principal purpose of ACEs will be to accept work and to dispatch it off to the CUs for processing. »
  17. (en) « Managing Idle Power: Introducing ZeroCore Power », sur AnandTech.com, (consulté le )
  18. (en) « AMD's Kaveri A10-7850K tested », sur AnandTech, (consulté le )
  19. (en) « AMD Radeon R9-290X »,
  20. « Carrizo Overview » [PNG], sur Images.anandtech.com (consulté le )
  21. (en) « Add DCC Support », sur Freedesktop.org,
  22. (en) Ryan Smith, « AMD Radeon R9 285 Review », sur Anandtech.com, (consulté le )
  23. a et b (en) Ian Cutress, « AMD Announces 7th Generation APU », sur Anandtech.com, (consulté le )
  24. (en) « RadeonFeature », sur www.x.org
  25. (en) « Radeon Technologies Group – January 2016 – AMD Polaris Architecture », sur Guru3d.com
  26. a et b (en) Ryan Smith, « The AMD Vega Architecture Teaser: Higher IPC, Tiling, & More, coming in H1'2017 », sur Anandtech.com, (consulté le )
  27. (en) WhyCry, « AMD confirms Polaris 10 is Ellesmere and Polaris 11 is Baffin », sur VideoCardz, (consulté le )
  28. (en) « Fast vollständige Hardware-Daten zu AMDs Radeon RX 500 Serie geleakt », sur www.3dcenter.org
  29. (en) Jeff Kampman, « The curtain comes up on AMD's Vega architecture », sur TechReport.com, (consulté le )
  30. (en) Ryan Shrout, « AMD Vega GPU Architecture Preview: Redesigned Memory Architecture », PC Perspective, (consulté le )
  31. (en) « Vega Teaser: Draw Stream Binning Rasterizer », sur Anandtech.com (consulté le )
  32. (en) « Radeon RX Vega Revealed: AMD promises 4K gaming performance for $499 – Trusted Reviews », sur Trustedreviews.com, (consulté le )
  33. (en) « The curtain comes up on AMD's Vega architecture », sur Techreport.com (consulté le )
  34. (en) Jeff Kampman, « Radeon RX Vega primitive shaders will need API support », sur Techreport.com, (consulté le )
  35. (en) « ROCm-OpenCL-Runtime/libUtils.cpp at master · RadeonOpenCompute/ROCm-OpenCL-Runtime », sur github.com, (consulté le )
  36. (en) « AMD's Vega Mobile Lives: Vega Pro 20 & 16 in Updated MacBook Pros In November », sur Anandtech.com, (consulté le )
  37. (en) « AMD Announces Radeon Instinct MI60 & MI50 Accelerators: Powered By 7nm Vega », sur Anandtech.com, (consulté le )
  38. (en) « AMD Unveils World's First 7nm Gaming GPU – Delivering Exceptional Performance and Incredible Experiences for Gamers, Creators and Enthusiasts », Las Vegas, Nevada, AMD, (consulté le )
  39. (en) Bruno Ferreira, « Ryzen Mobile APUs are coming to a laptop near you », Tech Report, (consulté le )
  40. (en) « AMD Unveils World's First 7nm Datacenter GPUs – Powering the Next Era of Artificial Intelligence, Cloud Computing and High Performance Computing (HPC) », sur AMD.com, AMD, (consulté le )