Architecture GPU Intel, différences par rapport à NVIDIA et AMD

Architecture GPU Intel, différences par rapport à NVIDIA et AMD

Nous n'associons pas souvent le Intel avec des GPU ou des puces graphiques, car Intel est jusqu'à présent resté dans le segment sous-performant. Dans lequel sont inclus les GPU intégrés au processeur et ceux d'entrée de gamme où une puissance élevée n'est pas nécessaire. Ce qui signifie que pour beaucoup, il n'a pas le même niveau d'intérêt que NVIDIA et AMD Les GPU, mais l'architecture graphique d'Intel a aussi des points intéressants, que nous allons définir ci-dessous.

Intel a toujours été le troisième en lice en ce qui concerne les GPU, après tout ce n'est pas leur activité principale et il s'agit de quelque chose de plus que ce qu'ils font que sont les CPU. Bien que ces dernières années, ils aient augmenté leurs ressources et disposent d'une série de GPU de jeu sur la rampe de départ. Cependant, son architecture présente une série de points différenciants par rapport à ses concurrents.

L'Execution Unit, la base des GPU Intel

Intel UE vieja

Pour comprendre la différence dans l'organisation ou l'architecture des GPU Intel par rapport aux autres, nous devons comprendre que dans un NVIDIA ou AMD GPU l'unité de shader est l'unité minimale, dans le cas d'Intel c'est l'unité d'exécution. en quoi consiste-t-il exactement ? Chaque Unité d'Exécution est un processeur conçu pour le parallélisme au niveau du fil d'exécution ou TLP complet. Il dispose donc d'une unité de contrôle, des enregistrements et des unités d'exécution correspondantes. Qui sont deux unités SIMD de 4 ALU à virgule flottante 32 bits et 4 autres d'entiers, qui sont commutés et prennent en charge SIMD sur registre.

Grâce au SIMD sur registre, en subdivisant les ALU et leurs registres associés, ils peuvent travailler avec deux fois plus d'opérandes par cycle d'horloge pour chaque subdivision faite en précision. Ainsi, ils peuvent effectuer deux fois plus d'opérations en virgule flottante 16 bits qu'en 32 bits, mais quatre fois plus s'ils sont en 8 bits. En ce qui concerne la fonctionnalité des unités d'exécution, ils sont chargés d'exécuter les programmes Shader, après tout ils sont l'équivalent des unités SIMD des GPU Intel et AMD et donc leur tâche est la même.

Unités d'exécution Intel Xe

Dans l'Intel Xe, l'équipe Raja Koduri a effectué un changement important dans l'unité de contrôle, puisque maintenant deux unités d'exécution partagent la même unité de contrôle. Un changement qui rappelle beaucoup celui qu'AMD a fait dans ses architectures RDNA où deux unités de calcul sont regroupées en un seul groupe de travail. Quelque chose qui ne devrait pas nous surprendre par la fuite des cerveaux d'AMD vers Intel. Ce changement a signifié que l'unité de contrôle a été mise à jour, ce qui représente sûrement un changement complet dans l'ISA interne des GPU Intel pour un beaucoup plus efficace.

Sub-Slice, l'unité Shader

Puces actives Intel Architecture Xe (8)

L'équivalent des unités de shader que possèdent les GPU NVIDIA et AMD, nous avons déjà vu qu'il ne s'agit pas des unités d'exécution, mais plutôt des sous-tranches. En leur sein, vous trouverez les unités d'exécution regroupées. Étant donné que chaque unité d'exécution est un sous-ensemble d'une sous-tranche et que la tranche est le surensemble de la sous-tranche, nous verrons cette dernière plus tard. Chaque sous-tranche contient 16 unités d'exécution à l'intérieur, ce qui se traduit par 64 ALU FP32 et 64 ALU entiers au total. Un chiffre qui rend ces unités équivalentes en puissance de calcul brute à leurs équivalents AMD, les Compute Units.

Quant au reste des éléments que l'on peut trouver à l'intérieur du sous-licence, ce sont les classiques d'une unité de ce type, bien qu'Intel utilise une nomenclature différente de celle d'habitude. Comme c'est le cas de ce que l'on appelle le 3D Sampler, qui reste l'unité classique de traitement et de filtrage des textures, Intel a simplement donné un autre nom à cette unité classique à fonction fixe que l'on retrouve dans tous les processeurs graphiques 3D depuis sa création.

Puces actives Intel Architecture Xe (10)

Cependant, le Media Sampler est une pièce beaucoup plus intéressante car il est unique aux GPU Intel, il est composé d'une série d'unités de fonctions fixes, qui sont les suivantes :

  • Le moteur de mouvement vidéo fournit une estimation du mouvement des pixels, ce qui est essentiel pour les encodeurs vidéo.
  • L'Adaptive Video Scalar est une unité qui exécute des filtres de lissage d'image.
  • De-Noise / De-Interlace est une unité chargée de réduire le bruit dans une image d'une part et d'autre part de transformer la vidéo en mode entrelacé en mode progressif.

À partir de l'Intel Xe, le Media Sampler a été retiré de la sous-tranche et est devenu une unité indépendante à part entière. Ce qui continue d'être une pièce différentielle par rapport aux conceptions de NVIDIA et AMD.

The Slice, une autre pièce commune dans les GPU

Puces actives Intel Architecture Xe (7)

Le Slice dans l'architecture GPU Intel est l'équivalent du Shader Engine ou du GPC dans le cas de NVIDIA. Des noms différents pour une organisation d'unités les unes des autres. À l'intérieur se trouvent les sous-tranches et une série d'unités à fonction fixe, communes aux GPU d'autres sociétés.

Bien que là encore la nomenclature puisse prêter à confusion, par exemple dans le reste des architectures l'unité raster est généralement unifiée et celle qui génère le tampon de profondeur, les deux éléments se produisent dans la phase raster dans une unité commune dans le cas de NVIDIA et AMD, mais Intel le fait séparément.

Il en va de même pour le Pixel Dispatch et le Pixel Back-End. Fonctions des unités ROP qui sont exécutées ici par deux éléments différents. Après tout, la tâche à accomplir dans les deux cas est la même.

La hiérarchie du cache du GPU Intel

Intel Cache GPU

L'un des points différenciateurs de l'architecture commune des GPU Intel, par rapport à AMD et NVIDIA, est précisément la manière dont la hiérarchie du cache est organisée. Dans le cas d'AMD, nous constatons que le RX 6000 a une hiérarchie de quatre niveaux si l'on compte les nouveaux incorporés Cache infini. Dans le cas de NVIDIA, la hiérarchie des caches est différente de celle d'Intel et d'AMD, mais ce n'est pas sur la concurrence d'Intel que nous souhaitons nous concentrer sur cet article car il ne leur est pas dédié.

Le diagramme de cette section indique la communication interne au sein du GPU, à la fois au niveau des sous-tranches et des tranches. Dans le cas des sous-tranches, nous avons le cache de données classique et la mémoire locale partagée. Mais contrairement aux GPU NVIDIA et AMD, Intel a traditionnellement ajouté un cache L2 supplémentaire accessible à la fois par l'échantillonneur 3D et l'échantillonneur multimédia. Ce qui fait du cache L3 du GPU le cache GPU de niveau supérieur.

Architecture GPU Intel Xe

La différenciation entre le cache L1 pour les données et donc pour les unités d'exécution et le L2 pour les textures a changé dans l'Intel Xe, où les deux ont été combinés en un seul cache L1 de données et de textures. Alors maintenant, ils ont une configuration totalement standard par rapport aux GPU concurrents.

Un autre changement concerne le cache L3 ou de dernier niveau. Les GPU contemporains prennent en charge ce qu'on appelle le Tiled Caching, qui consiste à rastériser par tuiles, mais ils le font sur le cache de dernier niveau et il y a un risque que les données tombent en mémoire où le coût énergétique de leur récupération monte en flèche, donc Ils l'ont augmenté de 3 Mo à 16 Mo.