Cela faisait presque un an qu’Imagination avait annoncé son tout nouveau GPU IP de la série A, une version que la société qualifiait à l’époque de la plus importante depuis 15 ans. La nouvelle architecture a en effet marqué quelques mises à jour significatives de l’IP du GPU de l’entreprise, promettant des améliorations majeures des performances et des promesses de grande compétitivité. Depuis lors, à part une série de scandales internes, nous avons très peu entendu parler de la société – jusqu’à l’annonce d’aujourd’hui de la nouvelle prochaine génération d’IP: la série B.

La nouvelle Imagination B-Series est une évolution de la version IP du GPU de la série A de l’année dernière, itérant davantage grâce à des améliorations microarchitecturales, mais surtout, en faisant évoluer l’architecture jusqu’à des niveaux de performances plus élevés grâce à un tout nouveau système multi-GPU, ainsi que l’introduction d’une nouvelle classe de sécurité fonctionnelle IP sous la forme de la série BXS.

Le marché exige des performances: l’imagination le fournit via le multi-GPU

Ce n’est un secret pour personne que le marché IP actuel des GPU a été extrêmement difficile pour les fournisseurs IP tels que Imagination. Étant le seul autre fournisseur IP établi aux côtés d’Arm, la société avait vu une liste de clients de plus en plus réduite en raison de plusieurs facteurs, l’un étant l’extrême compétitivité commerciale d’Arm en offrant à la fois des processeurs et des GPU IP aux clients, et le fait qu’il y avait tout simplement moins les clients qui ont besoin d’une IP GPU sous licence.

Parmi les fournisseurs de SoC actuels, Qualcomm et leur adresse IP GPU Adreno interne occupent une position dominante sur le marché et, ces dernières années, ont exercé une pression extrême sur d’autres fournisseurs, dont beaucoup ont recours par défaut à l’IP GPU Mali d’Arm. MediaTek était historiquement le seul fournisseur de SoC qui utilisait plus souvent les GPU d’Imagination dans leurs conceptions, mais tous les récents produits Helio of Dimensity utilisent à nouveau des GPU du Mali, avec apparemment peu d’espoir pour une victoire de SoC en utilisant l’IP GPU d’IMG.

Avec Apple utilisant sa licence architecturale d’Imagination pour concevoir des GPU personnalisés, Samsung pariant sur les nouvelles aspirations d’AMD en tant que fournisseur IP de GPU, et HiSilicon concevant à la fois leur propre GPU en interne et ayant un avenir extrêmement incertain, il reste très peu de choses en termes des fournisseurs de SoC mobiles qui pourraient nécessiter une IP GPU sous licence.

Ce qui reste, ce sont des marchés en dehors du mobile, et c’est ici qu’Imagination tente de se recentrer: le calcul haute performance, ainsi que les marchés de niche lucratifs tels que l’automobile qui nécessitent des fonctionnalités de sécurité fonctionnelle.

Faire évoluer une adresse IP du mobile vers ce que nous considérons comme des GPU hautes performances est une tâche difficile, car cela a un impact direct sur de nombreux choix d’équilibre architectural qui doivent être faits lors de la conception d’une IP GPU réellement adaptée au marché de faible puissance, comme mobile. Traditionnellement, cela avait toujours été un compromis entre performances absolues, évolutivité des performances et efficacité énergétique – les GPU hautes performances n’étant tout simplement pas aussi efficaces, tandis que les GPU mobiles à faible consommation étaient incapables d’augmenter les performances.

La nouvelle adresse IP de la série B d’Imagination résout cette énigme en introduisant une nouvelle approche d’une ancienne façon d’évoluer les performances: le multi-GPU.

Plutôt que de développer et d’augmenter les performances d’un seul GPU, vous utilisez simplement plusieurs GPU. Maintenant, la première chose qui viendra probablement à l’esprit des utilisateurs est probablement le parallèle avec les technologies multi-GPU de l’espace de bureau telles que SLI ou Crossfire, des technologies qui, ces dernières années, ont vu leur support diminuer en raison de leur incompatibilité avec les API et les moteurs de jeu modernes.

L’approche de l’imagination en matière de multi-GPU est complètement différente des tentatives précédentes, et la principale différence réside dans la façon dont les charges de travail sont gérées par le GPU. L’imagination avec la série B s’éloigne d’un modèle de charge de travail «push» – où le pilote GPU pousse le travail vers le GPU pour effectuer le rendu, vers un modèle «pull», où le GPU décide d’extraire les charges de travail à traiter. Il s’agit d’un changement de paradigme fondamental dans la façon dont le GPU est alimenté et permet ce que l’imagination appelle une «conception décentralisée».

Parmi un groupe de GPU, l’un agit comme un GPU «principal» avec un processeur de micrologiciel de contrôle qui divise une charge de travail, par exemple une image de rendu, en différentes tuiles de travail sur lesquelles les autres GPU «esclaves» peuvent ensuite tirer pour travailler dessus . Une tuile ici est en fait le sens propre du mot, car l’aspect de rendu basé sur les tuiles du GPU est au cœur du mécanisme – ce n’est pas votre mécanisme classique de rendu d’image alternatif (AFR) ou de rendu d’image fractionnée (SFR). De plus, la façon dont un moteur de rendu basé sur des tuiles à un seul GPU peut avoir différentes tailles de tuiles pour une image donnée, cela peut également se produire dans la distribution de la charge de travail multi-GPU de la série B, avec différentes tailles de tuiles d’une seule image réparties de manière inégale entre le groupe GPU.

Plus important encore, ce nouveau système multi-GPU qu’Imagination introduit est complètement transparent pour les API de plus haut niveau ainsi que pour les charges de travail logicielles, ce qui signifie qu’un système exécutant une configuration multi-GPU ne voit qu’un seul grand GPU d’un point de vue logiciel. C’est un grand contraste avec les implémentations multi-GPU discrètes actuelles, et pourquoi la technologie multi-GPU d’Imagination est beaucoup plus intéressante.

Du point de vue de la mise en œuvre, cela permet à Imagination et à ses clients une tonne de nouvelle flexibilité en termes d’options de configuration. Du point de vue d’Imagination, au lieu d’avoir à concevoir une implémentation de GPU volumineuse et lourde, ce qui pourrait nécessiter plus de travail en raison de la fermeture du timing et d’autres problèmes de mise à l’échelle microarchitecturale, ils peuvent simplement concevoir un GPU plus efficace – et permettre aux clients d’en déposer plusieurs. dans un SoC. Imagination prétend que cela permet des GPU à plus haute fréquence, et la société projette des implémentations autour de 1,5 GHz pour des cas d’utilisation haut de gamme tels que les utilisations du cloud computing.

Pour les clients, c’est aussi une grande victoire en termes de flexibilité: au lieu d’avoir à attendre Imagination pour fournir une implémentation GPU qui correspond exactement à leur objectif de performances, il serait possible pour un client de prendre juste un bloc de construction «sweet-spot» mise en œuvre et mise à l’échelle de la configuration eux-mêmes lors de la conception de leur SoC, ce qui permet une plus grande flexibilité ainsi qu’un temps d’exécution plus court. En particulier, si un client devait concevoir plusieurs SoC pour plusieurs objectifs de performance, il pourrait y parvenir facilement avec une seule conception matérielle d’Imagination.

Nous entrerons dans les détails de la mise à l’échelle dans la page suivante, mais actuellement, la prise en charge des multi-GPU de la série B peut évoluer jusqu’à 4 GPU. L’autre aspect intéressant de la pose de plusieurs GPU sur un SoC, contrairement à un GPU plus grand, est qu’ils n’ont pas besoin d’être adjacents ou même proches les uns des autres. Comme ce sont des blocs de conception indépendants, on pourrait faire des choses bizarres comme mettre un GPU dans chaque coin d’une conception de SoC.

La seule exigence pour le fournisseur de SoC est que les GPU soient connectés à l’interconnexion AXI standard du SoC à la mémoire – ce qui est de toute façon une exigence. Le fournisseur devra peut-être faire évoluer cela pour des configurations MC (multicœur) plus grandes, mais il peut faire ses propres choix en termes d’exigences de conception. L’autre exigence pour que cette configuration multi-GPU fonctionne est juste une connexion mineure entre les GPU eux-mêmes: ce ne sont que quelques fils qui agissent comme des lignes d’interruption entre les cœurs afin qu’ils puissent se synchroniser – il n’y a pas de trafic de données réel entre les GPU.

Pour cette raison, il s’agit d’une conception particulièrement adaptée aux conceptions de silicium multi-puces à venir d’aujourd’hui. Alors que les conceptions de GPU monolithiques actuelles ont du mal à être divisées en puces de la même manière que les processeurs, l’approche multi-GPU décentralisée d’Imagination n’aurait aucun problème à être mise en œuvre sur plusieurs puces et apparaîtra toujours comme un seul GPU pour le logiciel.

Pour en revenir au point initial, Imagination utilise cette nouvelle approche multi-GPU pour cibler des conceptions plus performantes qui n’étaient auparavant pas disponibles pour l’entreprise. Ils notent que leur IP GPU dérivée du mobile plus efficace grâce à une mise à l’échelle multi-GPU peut rivaliser avec d’autres offres actuelles de Nvidia et d’AMD (Imagination promeut sa plus grande configuration comme atteignant jusqu’à 6TFLOP) dans les conceptions de facteur de forme PCIe, tout en offrant 70% de mieux calculer la densité – une métrique que l’entreprise définit comme TFLOP / mm². Bien que cette métrique soit relativement dénuée de sens en termes de performances en raison du fait que le plafond supérieur des performances est toujours très limité par l’architecture et la limite de mise à l’échelle supérieure du MC4 sur l’implémentation multi-GPU actuelle de la série B, elle permet licenciés pour fabriquer des puces plus petites qui à leur tour peuvent être extrêmement rentables.

La série B couvre un grand nombre d’IP GPU réelles, la société poursuivant une segmentation en différents niveaux de performance – la série BXT étant les conceptions de GPU phares, la série BXM une IP GPU intermédiaire plus équilibrée et la série BXE étant la société. IP GPU compatible Vulkan le plus petit et le plus efficace. Passons en revue les différentes implémentations GPU plus en détail…