Les contenus liés au tag Imagination Technologies

Afficher sous forme de : Titre | Flux Filtrer avec un second tag : AMD; ARM; GDC; HSA; Intel; Nvidia; PowerVR; PowerVR Series 6; Qualcomm; Samsung;

Vulkan 1.0 dispo, avec pilotes et jeu beta!

Publié le 16/02/2016 à 15:38 par Damien Triolet

Après 18 mois de gestation, Khronos annonce la disponibilité immédiate de la variante plus bas niveau d'OpenGL : Vulkan. Pour les premiers pas de cette API graphique qui promet une meilleure exploitation des différentes plateformes, sont directement proposés des kits de développements, des pilotes et même le portage beta d'un jeu PC.

Il y a un an, lors de la GDC 2015, Khronos dévoilait Vulkan, sa vision de l'API graphique de plus bas niveau. Face à Mantle, Direct3D 12 ou encore Metal, Khronos se devait de réagir rapidement pour rester dans la course. Avec cette concurrence et une demande insistante des développeurs, une évolution radicale d'OpenGL, son API graphique historique, était aussi nécessaire que difficile à mettre en place. Pour bouger rapidement et éviter tout compromis boiteux, Khronos a pris la décision de mettre au point une API complémentaire à OpenGL et non de faire évoluer cette dernière vers un plus bas niveau d'abstraction. OpenGL et Vulkan vont coexister, évoluer côte à côte dans le futur, partager certains points communs mais rester distinctes sur d'autres.

Ces API de plus bas niveau permettent aux développeurs de mieux contrôler le GPU et sa gestion, ce qui a pour principal effet de réduire le coût CPU des commandes de rendu et d'autoriser une exploitation efficace du multi-threading. En contrepartie, le travail des développeurs se complexifie quelque peu, notamment en ce qui concerne la robustesse de leur code, qui ne sera plus facilitée par de lourdes sécurités mises en place au niveau des API classiques et de leurs pilotes. Ce dernier point est cependant un mal pour un bien puisque les meilleurs développeurs auront tout le contrôle nécessaire pour assurer un code robuste, sans devoir prendre en compte l'inconnue de ce qui peut se passer à l'intérieur des pilotes.

Pour en savoir plus sur la philosophie qui se cache derrière Vulkan, n'hésitez pas à repasser par l'actualité liée à la présentation de Vulkan en mars dernier. Rappelons simplement qu'à la base des travaux de Khronos, nous retrouvons l'API Mantle qui a été "offerte" par AMD (une contribution que Khronos affiche sans détour contrairement à Nvidia qui ne peut s'empêcher d'essayer de la minimiser autant que possible).

Ses fondamentaux sont toujours là, il aurait été inutile de réinventer la roue, mais après 18 mois de travaux, de nombreuses modifications plus ou moins importantes ont été apportées par le groupe de travail mis en place au sein de Vulkan. Dans sa documentation destinée aux développeurs, Nvidia indique ainsi qu'une douzaine de sociétés ont apporté des contributions majeures et au moins le double étaient sérieusement impliquées dans le projet. Neil Trevett, le Président du consortium (et accessoirement le Vice-Président de l'écosystème développeur chez Nvidia) avec lequel nous avons pu nous entretenir, a tenu à insister sur l'implication plus importante que jamais des développeurs de moteurs de jeu.

Si les plus grosses modifications concernent la gestion des ressources et la prise en compte des architectures de type TBDR (Tiled-Based Deferred Rendering), telles que celle des GPU PowerVR, la présence des développeurs a fait en sorte de contrebalancer les demandes spécifiques que pouvaient avoir les concepteurs de GPU pour éviter de trop complexifier l'API.

Vulkan supporte tout type d'extensions, exactement comme OpenGL, mais face à la large plage de possibilités liée au matériel supporté (de type OpenGL ES 3.1 mobile à OpenGL 4.5 desktop et supérieur), Khronos a mis en place des feature sets, soit un niveau de fonctionnalité minimum garanti. Ceux-ci sont définis par plateforme, de préférence par l'organisme qui contrôle la dite plateforme, et par Khronos si cet acteur tiers ne souhaite pas s'impliquer. Ces feature sets sont toujours en cours de finalisation et ne devraient être publiés que d'ici 1 ou 2 mois.

Sur PC, comme vous vous en doutez, Microsoft n'a pas réellement intérêt à pousser l'arrivée de Vulkan, préférant sa propre API Direct3D 12 liée à Windows 10 et qui est également disponible sur Xbox One. C'est donc Khronos qui se chargera de définir le feature set sous Windows (avec un support de Windows XP à Windows 10), après les premiers retours des développeurs et en jonglant avec le lobbying intense d'AMD, d'Intel et de Nvidia. Ce même feature set devrait également être étendu à Linux, même si certaines releases pourraient mettre en place un feature set spécifique. Il sera évidemment possible d'aller plus loin que le feature set, via le système d'extensions.

Sous Android, Google sera aux commandes. Et c'est là le point qui est probablement le plus important pour Vulkan. L'an passé, nous émettions quelques doutes quant au succès de Vulkan. Pourquoi ? Bien que tout cela n'ait jamais été annoncé publiquement, nous savons de multiples sources sûres que Google préparait sa propre API de bas niveau avec pour projet de la rendre disponible sur d'autres plateformes. Mais quelque part entre la GDC et la fin de 2015, Google a changé son fusil d'épaule, est passé au statut de Promoter au sein de Khronos (le plus élevé) et a abandonné son API propriétaire au profit exclusif de Vulkan. Google proposera ainsi un peu plus tard une version d'Android avec intégration complète de Vulkan, ce qui ne manquera pas de faciliter l'adoption de cette API.

Les possibilités pour cette API sont multiples. Vulkan a un intérêt évident dans le monde mobile, en termes de performances directes bien entendu, mais également au niveau des effets indirects que cela peut avoir : un coût CPU moindre implique une réduction de la consommation, un argument de poids. Vulkan devrait également trouver sa place dans le monde professionnel où les moteurs de visualisation sont souvent lourdement limités par le CPU. Vulkan pourra également aider à réduire la latence et à éviter les petites saccades dans le cadre de la réalité virtuelle.

 
 
La grosse inconnue se trouve plutôt du côté de nos PC équipés de Windows, ce qui représente l'énorme majorité du jeu PC. Tout le poids de Microsoft étant posé sur Direct3D 12, il y a peu de place pour une autre API de bas niveau. Valve a cependant sponsorisé le développement par LunarG d'un SDK open source et gratuit, disponible dès aujourd'hui pour Windows et Linux, avant une version Android prévue pour un peu plus tard. Et pour démontrer la pertinence de Vulkan sur PC, Khronos met en avant la disponibilité dès aujourd'hui sur Steam d'une version beta de The Talos Principle qui propose un renderer Vulkan . Pour mettre en place rapidement celui-ci, Croteam a travaillé étroitement avec Nvidia.

C'est d'ailleurs une autre observation importante que nous pouvons faire aujourd'hui. Si l'ADN de Mantle d'AMD est bel et bien à la base de Vulkan, ce qui a mis Nvidia dans une position inconfortable au départ, c'est bien ce dernier qui est progressivement devenu le plus actif autour de cette nouvelle API. Nvidia propose ainsi un pilote Vulkan beta à destination de ses GPU Kepler et Maxwell, qu'ils soient GeForce, Quadro ou Tegra, et que ce soit sous Windows 7-8-10, sous Linux ou sous Android 6.0.

Mais surtout, Nvidia est particulièrement actif au niveau de la documentation et des démos fournies aux développeurs et a mis en place plusieurs mécanismes pour aider ces derniers à passer à cette nouvelle API. Le pilote Vulkan de Nvidia accepte ainsi les shaders OpenGL classiques de type GLSL et pas uniquement le langage intermédiaire SPIR-V de la nouvelle API. Par ailleurs, ce pilote autorise de faire tourner Vulkan à l'intérieur d'un contexte OpenGL. De quoi pouvoir faire des essais rapidement et expérimenter avec Vulkan sans devoir repartir de zéro, ce que de nombreux développeurs devraient apprécier.

> Les pilotes Nvidia pour Windows 7/8.1/10 et Linux 

La documentation et les démos de Nvidia pour les développeurs 

Du côté d'AMD, qui en amont a communiqué très peu (ou très mal ?) sur Vulkan, aucun pilote n'a encore été certifié par Khronos  mais nous venons de remarquer qu'un pilote beta est disponible sur son portail GPUOpen. Il est compatible avec tous les GPU GCN, même s'il y a probablement des limitations pour les plus anciens de ces GPU, et supporte Windows 7, 8.1 et 10. La version Linux arrivera un peu plus tard. Nous ne savons pas pourquoi ce pilote n'a pas encore passé la certification de Khronos.

> Les pilotes AMD pour Windows 7/8.1/10 

La documentation d'AMD pour les développeurs 

Du côté d'Intel, un pilote a été certifié par Khronos pour Skylake sous Linux, mais nous ne savons pas quand il sera disponible. Imagination dispose également d'un pilote certifié sous Linux (nous avons pu le voir en démo lors du CES), tout comme Qualcomm sous Android 6.0. ARM est également annoncé comme prêt à fournir un pilote sous peu.

> La page dédiée d'Imagination 

Notons que dans le cas du support sous iOS, qui ne sera pas natif, Apple privilégiant Metal, Vulkan devrait être proposé d'une manière détournée puisque The Brenwill Workshop développe Molten (MetalGL + MetalVK), une surcouche qui permet de faire tourner OpenGL ES ou Vulkan par-dessus Metal. A voir cependant quelles seront les limitations et autres impacts sur les performances.

Enfin, Khronos tient à insister sur le fait que Vulkan, comme les autres API de plus bas niveau, n'est pas fait pour tous les développeurs, compte tenu de sa complexité plus élevée et d'avantages qui ne s'appliquent pas à toutes les situations. Mais au vu de l'intérêt apporté à ces API par les spécialistes du moteur graphique et d'autres middlewares, qui feront le travail pour la plupart des développeurs de jeux vidéo, le premier point ne devrait pas être un obstacle. Attendez-vous à de nombreuses annonces annexes lors de la GDC 2016 qui se tiendra le mois prochain à San Francisco.

Pour plus d'informations techniques, les spécifications de Vulkan sont disponibles sur le site de Khronos  et nous avons ajouté ci-dessous la présentation complète de Khronos destinée à la presse technique :

 
 

CES: Imagination: ray tracing en démonstration

Publié le 22/01/2016 à 05:10 par Damien Triolet

Lors de la GDC 2014, Imagination avait annoncé la possibilité d'intégrer à ses GPU un module d'accélération matérielle du ray tracing, ce que nous avions expliqué en détails ici. A peu près deux ans plus tard, lors de ce CES, nous avons pu observer cette technologie en action… face à un GPU haut de gamme classique.

Pour rappel, Imagination est un fournisseur de technologie et de propriétés intellectuelles, dont les GPU sont par exemple massivement intégrés dans les SoC Apple. Et, à notre connaissance, jusqu'ici aucun de ses clients n'a opté pour l'ajout du module optionnel de ray tracing, développé suite au rachat de Caustic Graphics en 2010. Mais étant donné qu'on n'est jamais aussi bien servi que par soi-même, Imagination a décidé de faire fabriquer en petit volume son propre GPU, le PowerVR GR6500, histoire de disposer d'un kit de développement et de pouvoir présenter quelques démonstrations de sa technologie.


Le PowerVR GR6500, nom de code Wizard, est une variante du PowerVR Series 6 XT(Rogue) équipée du module de ray tracing. Il est cadencé à 600 MHz et intègre 4 clusters pour une puissance de calcul de 150 Gflops (et 300 Gflops en basse précision). Une configuration identique, en dehors du ray tracing, à celle du GPU de l'Apple A8 (iPhone 6) mais cadencée à une fréquence doublée. Imagination nous a précisé que ce PowerVR 6500 a été fabriqué en 28nm, mesure un peu plus de 100 mm² et consomme 4.5 W, nous sommes donc plus proche du monde mobile que de celui des gros PC de bureau.

En ce qui concerne le ray tracing, ce GR6500 est capable de lancer 300 millions de rayons par seconde qui pourront représenter jusqu'à 24 milliards de tests et 100 millions de triangles par seconde. Et le tout avec un rendement énergétique très élevé, les techniques de ray tracing intégrées permettant de regrouper intelligemment les calculs et les accès mémoire.


Pour montrer ce dont est capable sa technologie, Imagination a tout d'abord mis en place un rendu de type path tracing, interactif avec amélioration progressive de l'image comme c'est souvent le cas. Une même scène est alors rendue sur le GR6500 ainsi que sur une GTX 980 Ti sous Blender avec accélération CUDA. Il y a quelques petites différences au niveau de l'interprétation des matériaux mais Imagination précise que la charge est identique, même si elle a probablement été choisie de manière à montrer Wizard sous son meilleur jour.


Le rendu du GR6500 en haut, de la GTX 980 Ti en bas.

Le résultat est sans appel : le PowerVR GR6500 est 5x plus performant que la GTX 980 Ti (qui est un modèle EVGA overclocké) tout en consommant nettement moins. Le système équipé du GPU Power consomme ainsi 10x moins que celui équipé de la GeForce, un écart qui exploserait si nous n'observions que la consommation des GPU.

Un rendu interactif c'est bien, mais un rendu en temps réel c'est encore mieux. Pour cela, Imagination a travaillé avec Unity pour intégrer le support de sa technologie, que ce soit pour un rendu 100% à base de ray tracing, ou hybride qui utiliserait cette approche pour certains éléments tels que les ombres, les réflexions ou encore les transparences.

 
 

Deux autres démonstrations étaient ainsi présentées par Imagination. Sur la première, qui tourne sur un GR6500, la géométrie et l'éclairage sont dynamiques et mettent en avant les multiples niveaux de réflexions ainsi que des ombres aux contours parfaits, ce que la rastérisation classique ne parvient pas à obtenir, même en ayant recours à plusieurs niveaux de détails avec les cascaded shadow maps.

La seconde démonstration se contente d'une géométrie fixe mais plus complexe et y ajoute la prise en compte de la réfraction. Pour celle-ci, un système plus musclé a été mis en place avec pas moins de 4 cartes équipées du GPU PowerVR GR6500 qui travaillent de concert. Une configuration globale qui n'est pas si éloignée que ça de ce que l'on pourrait imaginer pour de futurs SoC fabriqués sur des process plus évolués et qui permet à cette démonstration de tourner avec un haut niveau de performances, plus de 30 fps et probablement 60 fps.


Imagination a fourni un kit de développement sur base de cette carte PCI Express équipée du GR6500 à une poignée de développeurs et envisage d'étendre ce programme à d'autres qui en feraient la demande. Car ses ambitions sont sérieuses dans le monde mobile mais pas uniquement.

Comme pour chaque génération de consoles, Imagination compte répondre aux différents appels d'offre de Microsoft, de Sony ou encore de Nintendo pour leurs futurs modèles. Et a bon espoir de convaincre l'un d'eux en jouant sur l'aspect "différenciation". Un argument qui pourrait faire mouche après que deux fabricants se soient retrouvés dans une position délicate suite à une technologie très proche sur la génération de consoles actuelles : en ayant fait le choix d'un GPU AMD similaire mais moins musclé que celui pour lequel a opté Sony, Microsoft a perdu toute possibilité de se démarquer sur le plan graphique.

Le pari d'Imagination est qu'au moins un fabricant de console opte pour un GPU PowerVR de mainère à éviter cette situation, et l'argument du ray tracing pourrait faire la différence. Encore faut-il que les développeurs soient d'accord de faire l'effort nécessaire pour son support, mais Imagination se veut rassurant sur ce point en expliquant qu'utiliser sa technologie demande moins de travail que l'optimisation du rendu des ombres sur les GPU classiques.

Jugement favorable pour Samsung face à Nvidia

Publié le 13/10/2015 à 19:45 par Guillaume Louel

NVIDIA Logo 2010En septembre 2014, Nvidia avait décidé de déposer plainte devant l'ITC (U.S. International Trade Commission) envers Samsung et Qualcomm, demandant le retrait du marché américain de produits dont Nvidia estimait qu'ils violaient certains de ses brevets. Ce dépôt de plainte faisait suite à la « licence Kepler » que Nvidia avait tenté de négocier, laissant penser dans un premier que Nvidia proposerait ses GPU sous forme d'IP aux développeurs de SoC (de la même manière qu'ARM propose des blocs CPU tout faits sous la forme des Cortex, des GPU sont disponibles sous licence pour les constructeurs de SoC comme les Mali d'ARM, ou les PowerVR d'Imagination Technologies), alors qu'il s'agissait plus simplement d'un accord de licence. Cette stratégie infructueuse - aucun accord n'aurait été signé - faisait suite à l'échec des dernières générations de SoC Tegra sur le marché excessivement compétitif des SoC smartphone et tablettes (qui avait déjà fait d'autres victimes comme Texas Instruments), Nvidia s'étant recentré plus récemment sur ses propres produits et le marché automobile.


La plainte de Nvidia comprenait sept brevets dont certains nous semblaient à l'époque, comme celui sur le T&L, ne plus directement s'appliquer au matériel moderne (les GPU s'étant transformés au fil des années en puces plus génériques utilisant de larges blocs d'unités programmables pour exécuter les shaders, associés à des unités fixes pour gérer les textures par exemple). Au cours du mois de juin dernier , Nvidia avait retiré de lui-même quatre de ses brevets en contention (dont celui sur le T&L ) ainsi que différentes revendications de ses autres brevets. L'ITC détermine en effet pour chaque brevet si les revendications qui le compose (« claims » en anglais) sont effectivement utilisées dans les produits pour lesquels la plainte a été déposée. Lors de l'examen cependant, l'ITC peut décider d'invalider un brevet, ce qui peut être extrêmement couteux pour les entreprises (une grande partie de la valeur des brevets tient sur la présomption de leur validité), bien au-delà de la simple plainte concernée.

Il restait donc trois brevets sur lesquels l'ITC devait statuer, ce qui a été fait la semaine dernière . On notera que si Nvidia s'en est pris à Samsung et Qualcomm, c'est avant tout pour pouvoir interdire l'import des produits sur le territoire américain. En pratique, ce sont les IP des GPU qui étaient visées, Samsung ne produit pour rappel pas (encore) de GPU propre (une architecture CPU ARMv8 propre à Samsung est en développement pour 2016, et potentiellement une architecture GPU même si peu d'informations existent sur cette dernière). Trois familles de GPU étaient visées directement dans la plainte, les Mali (blocs d'IP développés par ARM), les PowerVR (blocs d'IP développés par Imagination Technologies) et les Adreno (l'architecture GPU de Qualcomm).

Le juge a déterminé que ces trois familles de GPU ne contrevenaient pas à deux des trois brevets restants (sur des techniques liées aux opérations sur les vertex , et l'autre sur une méthode de multithreading ). Pour le troisième, un brevet sur le shadow mapping , une des revendications a été considérée comme enfreinte par les GPU (claim 23), mais le juge l'a invalidée (tout comme la claim 24) considérant qu'elle n'était pas nouvelle et non évidente. D'autres revendications individuelles ont également été déclarées invalides par le jugement (ce qui n'a pas d'incidence directe, si ce n'est de faire diminuer la valeur de ces brevets pour Nvidia dans ses autres accords de licence).

Nvidia indique par un post de blog  avoir demandé le réexamen de l'invalidation du brevet sur le shadow mapping, ce qui laisse une lueur d'espoir mais si le brevet est bel et bien invalidé, c'est la totalité de la plainte du constructeur qui sera rejetée définitivement par l'ITC.

Un coup dur pour Nvidia dont la stratégie offensive vis-à-vis de ces brevets semblait inhabituelle. On se souvient que Nvidia s'était battu de longues années contre Rambus - jusqu'en février 2012 - face aux brevets sur la SDRAM et la DDR. Une stratégie d'autant plus risquée que comme nous l'indiquions, les GPU modernes n'ont plus grand-chose à voir avec ceux de la fin des années 90, DirectX ayant joué son rôle d'uniformisation pour le meilleur et pour le pire. Si Nvidia a voulu communiquer sur son rôle de « précurseur » dans le domaine du GPU face au monde nouveau des smartphones, cela néglige la réalité de l'histoire. Les acteurs principaux comme Imagination Technologies ne sont pas de nouveaux entrants sur le marché, la société ayant été fondé en 1985 bien avant que Nvidia n'existe et proposait en 1996 ses premiers PowerVR, avant même les Riva, TNT et autres GeForce. On se rappellera également que les Adreno de Qualcomm étaient nés d'une division d'ATI (Imageon).

Et si l'on remonte encore plus en arrière, on pourra dire que l'industrie du GPU a été construite sur le travail préalable de Silicon Graphics, une réalité à laquelle il est difficile d'échapper encore aujourd'hui car si la société a déposé le bilan, ses brevets se retrouvent désormais dans une entité appelée « Graphics Properties » qui s'attaque elle aussi aux fabricants de smartphones (voir ici , là  et là ).

La spécification HSA 1.0 disponible

Publié le 19/03/2015 à 11:51 par Guillaume Louel

La fondation HSA (Heterogenous System Architecture) a annoncé cette semaine la publication de la version 1.0 de sa spécification. Pour rappel, le but de cette technologie est de proposer des solutions pour les problèmes d'hétérogénéité des plateformes de calcul - CPU et GPU – qui diffèrent fondamentalement dans leur fonctionnement et dans leur programmation. HSA tente de résoudre certains de ces problèmes, notamment autour de la manière de collaborer autour d'un espace mémoire unique.

Trois documents ont été publiés, ciblant respectivement le matériel, les développeurs bas niveau (ceux qui réalisent les outils, compilateurs, etc) et les développeurs d'applications (avec notamment un support de C++, Java et Python). Toutes ces spécifications sont téléchargeables librement sur le site de la fondation .

Lancé (et toujours présidé) par AMD, l'effort HSA regroupe désormais d'autres sociétés, particulièrement dans le monde de la mobilité. La fondation compte désormais parmi ses membres ARM, Imagination Technologies (PowerVR), LG, Mediatek, Qualcomm et Samsung.

GDC: GPU PowerVR Wizard avec ray tracing accéléré

Publié le 19/03/2014 à 09:42 par Damien Triolet

Imagination Technologies profite de la Game Developer Conference de San Francisco pour faire une annonce qui pourra difficilement passer inaperçue dans le petit monde du rendu 3D temps-réel : la possibilité d'intégrer un module d'accélération matérielle du ray tracing dans ses GPU PowerVR mobiles !

Il y a 4 ans, certains ont pu se demander pourquoi Imagination Technologies avait mis la main sur Caustic Graphics, une petite startup californienne qui misait sur l'accélération matérielle du ray tracing. Nous avons dorénavant la réponse : intégrer sa technologie dans les GPU PowerVR.


Un exemple de rendu faisant appel au ray tracing PowerVR

Cette technologie issue de Caustic Graphics et dont le développement a été poursuivi par Imagination Technologies repose sur une API de bas niveau, OpenRL, développée sur la base du modèle d'OpenGL. Cette API peut être exploitée autant sans accélération matérielle qu'avec, notamment parce qu'elle gère d'une manière transparente pour le développeur les structures de données nécessaire au ray tracing. Des accélérateurs Caustic R2100 (500$) et R2500 (1000$) sont d'ailleurs commercialisés et peuvent être exploités pour réduire significativement le temps de rendu sous Maya ou mental ray.

Le cœur de métier d'Imagination Technologies se situe dans la mobilité, notamment à travers ses GPU PowerVR commercialisés sous licence, et il peut paraître autant surprenant que logique d'y voir débarquer le ray tracing. Cette technique de rendu n'est-elle pas trop gourmande pour de petits SoC ? Oui et non. Imagination Technologies est très claire quant au but visé : le rendu hybride. Il ne s'agit pas de remplacer le rendu 3D classique (ou TBDR cher à la société) mais de l'améliorer ou de l'optimiser à travers quelques touches plus ou moins importantes de ray tracing.

Plusieurs cas pratiques sont présentés par Imagination Technologies, à commencer par l'éclairage précalculé dans des lightmaps, des "textures" qui sont ensuite appliquées sur les surfaces pour en représenter l'éclairage (avec illumination globale et occultation ambiante). Mettre en place un éclairage dynamique à base de lightmaps n'est pas simple, il est d'ailleurs en général statique, puisque cela revient à devoir les mettre à jour pour chaque image. Le ray tracing permet d'accélérer cette tâche et de la rendre réaliste pour du rendu en temps réel.

Un autre cas est un rendu hybride dans lequel le ray tracing n'est utilisé que pour certaines surfaces qui présentent de la transparence ou des réflexions. De quoi profiter des performances du rendu classique et de la finesse du ray tracing uniquement là où c'est jugé utile par les développeurs. De quoi également profiter d'optimisations énergétique en utilisant le ray tracing là où le rendu classique est peu efficace et demande des algorithmes lourds pour contourner ses limitations. Un rendu purement à base de ray tracing est possible mais en termes de performances, l'implémentation n'est pas prévue pour cela.


[ Rastérisation classique ]  [ Rendu hybride avec ray tracing ]


Avec les futurs GPU PowerVR Wizard, Imagination Technologies vient en fait "simplement" greffer un module de ray tracing sur ses GPU actuels, de la série PowerVR Series6XT (nom de code Rogue, que nous avions abordé l'an passé sur base des premières déclinaisons). Le futur PowerVR GR6500 est ainsi identique à l'actuel PowerVR Series6XT GX6450 mais intègre l'unité de ray tracing (RTU). Cette unité spécialisée communique avec les unités de calcul principales du GPU (les "cores") mais Imagination Technologies ne précise comment le travail est réparti ni quel est le coût de la RTU. Nous pouvons cependant supposer au vu de l'usage mobile qui est visé, et donc de l'intégration dans un GPU lui-même intégré dans un SoC, que ce coût reste modéré.

Voici la description des blocs qui ont été ajoutés au GPU pour supporter l'accélération du ray tracing :
- a dedicated ray tracing data master that feeds ray intersection data to the main scheduler, in preparation for shaders to run, which evaluate the ultimate data contribution from the ray.
- a specialized Ray Tracing Unit (RTU) which uses fixed-function math to perform ray tracing intersection queries, in addition to gathering ray coherency in order to reduce power and bandwidth consumption.
- a scene hierarchy generator to speed up dynamic object updates.
- a frame accumulator cache that provides write-combining scattered access to the frame buffer.



A une fréquence de 600 MHz, la RTU et le GR6500 sont capables de lancer 300 millions de rayons par seconde qui pourront représenter jusqu'à 24 milliards de tests et 100 millions de triangles par seconde. A côté de cela nous retrouverons des unités de calcul capables de 150 Gflops (32-bit) ou de 300 Gflops (16-bit), mais il est probable qu'une partie de cette puissance de calcul soit monopolisée par le côté ray tracing du rendu. Notons qu'il est possible d'effectuer du ray tracing via le GPU computing sur la plupart des GPU, mais Imagination Technologies précise que son unité spécialisée est 100x plus rapide dans le cas du PowerVR GR6500.

Voici les détails publiés par la société :
- Full-blown graphics and compute performance: four Unified Shading Clusters (USCs), with 128 ALU cores delivering more than 150 GFLOPS (FP32) or 300 GFLOPS (FP16) at 600 MHz
- Unmatched real-world ray tracing performance: Up to 300 MRPS (million rays per second), 24 billion node tests per second and 100 million dynamic triangles per second at 600 MHz
- PowerGearing G6XT for advanced power management and dynamic resource allocation
- PVR3C™ triple compression technologies (PVRTC and ASTC for texture compression, PVRIC for frame buffer compression, PVRGC for geometry compression)
- Deep Color support for very high image quality at Ultra HD resolutions and beyond
- Support for a range of APIs such as OpenGL ES 3.1/2.0/1.1, OpenGL 3.x, Direct3D 11 Level 10_0, OpenCL 1.2, and OpenRL 1.x
A noter que pour la première fois, Imagination Technologies n'est pas mentionné par Microsoft parmi les partenaires privilégiés pour le développement du futur DirectX. Par ailleurs, alors que pour la Series6 Rogue il était question d'un module DirectX 11 / Tessellation optionnel, il n'est plus mentionné dans le cas des GPU Wizard. Dans un sens, Imagination Technologies pourrait avoir sacrifié le support de toutes les fonctionnalités de DirectX 11/12 au profit du ray tracing.

Imagination Technologies ne commercialise pas directement ses GPU ou des SoC et il reste donc à voir si cette initiative trouvera preneur. Apple, l'un de ses plus gros clients, pourrait par exemple y voir l'opportunité de se démarquer de la concurrence. Dans l'immédiat, Unity vient d'annoncer supporter OpenRL et l'accélération du ray tracing PowerVR dans son moteur Unity 5.

Nous sommes actuellement en route pour la GDC et nous tâcherons d'essayer de voir le tout en action chez Imagination Technologies et/ou Unity que nous avons également prévu de rencontrer.

Top articles