Depuis lundi dernier, nous sommes à San José (Etats-Unis) pour assister au GPU Technology Conference, ou GTC 2014, une conférence dédiée à l’écosystème de NVIDIA. L’objectif de cet événement est de mettre en évidence le Tegra K1 et ses avantages pour les développeurs et les partenaires présents, mais aussi d’exposer la feuille de route des deux prochaines années. Nous avons donc profité de cet événement pour nous intéresser à cet acteur qui donne des noms de code de héros inspirés de comics à ses architectures mobiles.

DSC02492

NVIDIA est un acteur incontournable du marché des processeurs graphiques, principal concurrent de AMD (anciennement ATI) mais aussi d’Intel. Dans le mobile, l’arme de NVIDIA se nomme « Tegra ». L’américain a adopté une stratégie similaire à celle utilisée dans le marché des GPU. Ils ne visent pas 100% du marché du mobile, ils visent le marché de l’information visuelle. Kézako ? Tous les domaines et produits où il est question de traitement visuel. Evidemment, cela ne représente pas 100% du marché, néanmoins la part reste très grosse.

C’est une des raisons qui les pousse à stimuler leurs partenaires éditeurs de jeux mobiles. « Nous croyons dans le jeu sur Android » m’a expliqué Deepu Dalla (le responsable de Tegra chez NVIDIA). Ce qui signifie que « Flappy Bird » n’intéresse pas du tout l’américain. Il flaire du gros : du jeu pour les joueurs passionnés, loin des besoins des joueurs occasionnels. Justement, NVIDIA vient d’annoncer une collaboration unique avec Valve, le créateur de Half-Life, pour le portage de Portal sur terminaux mobiles.

 

Inspirés des super-héros

Tout commence le 15 février 2011 au Mobile World Congress édition 2011 où NVIDIA a introduit le projet Kal-El, plus tard connu sous le nom Tegra 3. À l’époque, Superman – ou Kal-El – devait être remplacé par un certain nombre d’autres super-héros de comics. Wayne était à côté (le fameux Tegra 4), ​​suivi par Logan et Stark. Un peu plus tard, NVIDIA a décliné son architecture en deux variantes.

1877172-cannonf3__2_

Wayne et Grey étaient à la fois Tegra 4 : Wayne était le Tegra 4 avec connexion Wi-Fi (celui qui équipe les tablettes par exemple), et Grey était Tegra 4i (pour les smartphones) avec sa compatibilité 4G LTE grâce à son modem Icera (que l’on retrouve sur le Wiko Wax). Enfin, Logan, celui que l’on appelle désormais Tegra K1 (Tegra 5). Sans oublier, la prochaine génération qui porte le nom d’Erista (fils de Logan, qui n’a pas de super-pouvoirs btw).

 

Google et NVIDIA, des alliés avec des points de vues différents

Début 2013, NVIDIA a introduit la Shield, une console de jeux que nous avons testé. C’est un produit conçu directement par la firme de Santa Clara pour promouvoir sa plate-forme Tegra. D’ailleurs, la Shield continuera à jouer un rôle important pour NVIDIA, même si la console mobile Android n’est disponible qu’aux Etats-Unis pour le moment.

Quant à la conception de jeux pour smartphones et tablettes ainsi que les consoles Android, comme la Shield, NVIDIA a de grosses ambitions. Néanmoins, NVIDIA n’est pas entièrement sur la même longueur d’onde que Google. En effet, pour NVIDIA les jeux devraient également être adaptés au mode paysage, et pas seulement au mode portrait. Google Play pousse d’abord les smartphones, mais une console comme le Shield a des exigences différentes. L’utilisation d’un écran tactile ne devrait pas être le seul moyen de contrôler les jeux Android. Google doit revoir sa position, de nombreux appareils sous Android , comme le Mad Catz Mojo, ou la Gear par exemple diffèrent des tablettes et smartphones que l’on retrouve dans le commere. Ces matériels ne se comportent pas comme un smartphone ou une tablette, et malheureusement les API de Google limitent les intégrations et imposent des limites aux développeurs et aux constructeurs.

DSC02494

En outre, Nvidia a déclaré que les jeux ne doivent pas seulement être testés sur les petits écrans, mais aussi être raccordés via HDMI (ou via Miracast) à de grands écrans, tels que les téléviseurs. Les développeurs doivent être encouragés à adapter les menus de jeu et l’interface utilisateur à de plus grandes tailles d’écran.

Deepu_Talla

Au GTC 2014, NVIDIA n’a pas dévoilé la Shield 2, comme nous l’attendions. Néanmoins, son ombre plane dans tout le salon. J’ai réussi à interroger un des responsables « mobile », Deepu Dalla, qui m’a confirmé que « l’appareil était au stade de prototype« , créé uniquement (pour le moment) à des fins de démonstration. Bien entendu, la Shield 2 devrait intégrer le dernier NVIDIA Tegra K1. 

 

Tegra K1, l’arme de NVIDIA

Le Tegra est une grande famille d’architectures mobiles. Souvenez-vous, le Tegra 2 a été la première architecture à double-coeur sous Android. La Tegra 3 a tenté d’être la première architecture quadruple-coeur. C’était par exemple le SoC de la première Asus Nexus 7. Le Tegra 4 n’a pas réussi à convaincre le marché, a priori à cause d’un problème de timing. Ce dernier était sorti hors-cycle et avait donc loupé les tablettes de fin d’année. NVIDIA s’est donc concentré sur le lancement du K1 avec une stratégie bien ficelée.

Screen Shot 2014-01-06 at 6.16.46 AM

Le Tegra K1 (ou Tegra 5 si vous voulez) sera proposé en deux versions. Dans quelques semaines, la première version du K1 sera assez standard avec du quadruple-coeur (4 +1) basé sur un CPU Cortex-A15 (32 bits comme le Tegra 4). Puis dans la seconde moitié de 2014, une seconde version du K1 sera disponible avec du double-coeur basé sur une architecture 64 bits (ARMv8) et un CPU maison nommé Denver. Les deux versions du K1 seront donc identiques, avec le même GPU, néanmoins le CPU sera différent. Le GPU du K1 est le monstrueux Kepler avec 192 coeurs (1 SMX).

tegrak1tablet

La tablette Tegra Note 7 sera un des premiers produits à bénéficier du K1, nous l’avons prise en main lors du MWC 2014

Je me suis intéressé au CPU Denver, car c’est la première architecture maison de NVIDIA et il s’agit surtout d’une architecture 64 bits (ARMv8). Si on remonte en arrière, NVIDIA a mentionné le projet Denver en 2011 (lors du CES), et ce CPU était présenté comme un super noyau qui allait révolutionner les PC et les serveurs – mais curieusement, pas les smartphones ni les tablettes. Il semble maintenant que les appareils mobiles sont de retour sur la table, je reste donc dubitatif sur la consommation d’énergie de ces noyaux. Les noyaux Denver (et le reste du SoC) sont fabriqués sur le processus HPM (28nm) de TSMC et seront cadencés jusqu’à 2,5 GHz, sans oublier les caches L1D et L1I qui passent à 128 Ko et 64 Ko.

Jusqu’ici, tout va bien. Mais, ce qui est vraiment intéressant, au delà des vitesses d’horloges et des caches, c’est le support du jeu d’instruction ARMv8 en 64 bits avec une architecture de processeur qui permet de réaliser du parallélisme au niveau des instructions de type superscalaire 7 voies. Ce qui signifie que Denver peut réaliser de multiples instructions dans un seul cycle d’horloge. Quand NVIDIA annonce un CPU capable de réaliser 7 voies « superscalaire », cela signifie qu’il a les ressources matérielles pour réaliser 7 instructions par cycle d’horloge. On devrait donc s’attendre à des performances impressionnantes. Malheureusement, performances impressionnantes riment avec consommation d’énergie importante. C’est un des points sensibles de ce K1 64 bits. Evidemment, nous manquons d’information à l’heure actuelle pour affirmer quoi que ce soit.

La très grande majorité des produits qui sortiront sous K1 cette année seront équipés du K1 32 bits, qui reprend une partie de l’architecture du Tegra 4 (quadruple-coeur en CPU Cortex-A15) mais avec le GPU Kleper et ses 192 coeurs. Le K1 64 bits semble être un produit de transition vers Erista, la prochaine génération d’architecture mobile. Prévue en 2015, Erista pourrait être basé sur le CPU Denver (64 bits en ARMv8) avec un GPU Maxwell.

 

CUDA, un outil dédié au GPU Computing

Comment profiter de toute cette puissance ? NVIDIA possède un outil permettant de créer des applications compatibles avec le GPU Computing : CUDA. CUDA, c’est l’équivalent de RenderScript (promu par Google) ou encore Open CL. Cela nécessite un peu d’explications… Aujourd’hui, une énorme majorité d’applications Android sont développées en Java et tournent sur le moteur d’exécution Dalvik (ou ART). Néanmoins, pour profiter des ressources graphiques fournies par les architectures mobiles, les développeurs et éditeurs ne peuvent pas simplement utiliser du Java comme langage. Ils doivent utiliser un langage capable d’intervenir sur des couches bien plus basses d’Android. C’est exactement ce que propose le RenderScript, ou encore l’Open CL. La solution de NVIDIA se nomme CUDA, et doit rappeler quelques souvenirs aux amateurs de GPU sur PC.

DSC02422

L’avantage des architectures ARM, c’est qu’elles consomment très peu d’énergie. C’est la raison qui explique leur grand succès dans des secteurs clés, comme la santé ou l’automobile. NVIDIA pousse donc son NVIDIA K1 en encourageant les éditeurs à utiliser CUDA.

DSC02433

Nous ne verrons pas beaucoup de jeux mobiles ou d’applications grand public utiliser CUDA, car il favorise bien entendu la fragmentation sur Android, étant donné que seules les architectures avec un GPU NVIDIA sont capables de les exécuter. NVIDIA cible donc le marché des applications métiers, comme nous avons pu le voir lors de la keynote d’ouverture où une collaboration avec Audi a été annoncée pour créer une voiture sans conducteur. Les éditeurs de jeux peuvent toujours utiliser CUDA indirectement à travers des API fournis par NVIDIA, ce qui permet d’activer des options et effets graphiques dans certains jeux.

 

Jetson TK1, le kit de développement

NVIDIA a également profité de l’événement pour annoncer Jetson TK1. Cette carte ressemble à un mini-ordinateur, mais c’est en réalité un kit de développement articulé autour du SoC Tegra K1. Même si le TK1 est basé (a priori) sur la première version du K1, cela reste une bonne façon d’appréhender la technologie de NVIDIA. Pour les étudiants qui n’ont pas l’investissement suffisant pour une carte GTX… par exemple.

DSC02488

Elle ne coutera que 192 dollars (référence aux 192 coeurs pour le GPU), c’est un peu tentant d’en prendre une pour l’utiliser comme un PC de bureau, un NAS ou un centre média Android (avec PLEX dessus). La disponibilité de ce produit est prévue pour la fin du premier semestre 2014.

DSC02486

 

L’automobile, la santé, l’analyse financière…

La prochaine frontière de NVIDIA pour l’industrie automobile est d’utiliser le rendu en temps réel dans le marketing et la communication, avec la possibilité de choisir la peinture, les grilles, les tissus d’ameublement et d’autres éléments, et de les voir instantanément sous forme de rendu photoréaliste.

DSC02450

Mais la véritable poussée de NVIDIA dans le monde de l’automobile si situe en fait à l’intérieur des véhicules avec un module construit autour du Tegra K1 : le Tegra K1 VCM. Ce module est destiné à apporter la flexibilité d’un processeur programmable à une industrie automobile qui repose en grande partie sur les boîtes noires impénétrables.

DSC02424

Avec l’option de mise à jour des systèmes au fil du temps, de nouvelles fonctionnalités comme les systèmes avancés d’aide à la conduite (ADAS) peuvent permettre de faire évoluer des fonctions simples telles que la détection d’objet et d’éviter les collisions, une sorte de « pilote automatique pour les voitures ». Bien entendu, ce sont les prémices de la voiture sans conducteur.

07023980-photo-nvidia-tegra-k1-vcm-1

La puissance graphique du Tegra K1 VCM était également exposée avec de nouveaux outils pour les écrans du tableau de bord numérique, à l’aide d’un nouvel outil appelé Project Mercury. Cette collection d’outils de rendu et de personnalisation permet aux constructeurs automobiles de créer des jauges et des indicateurs très détaillés et réalistes.

Le Tegra K1 pourrait également être utilisé dans la médecine, ou bien encore pour l’analyse financière. Le Tegra K1 possède dans tous les cas des limites, cette architecture mobile ne permet pas le calcul en double précision, nécessaire pour les applications scientifiques (pour faire de l’approximation conforme à des algorithmes standardisés et fiables). Pour réaliser ce genre de calcul, il faudra se tourner vers les cartes GTX.

 

L’avenir ? L’unification !

La puce Tegra K1 est la première puce Tegra à concilier une architecture qui est identique à son homologue PC. Pour NVIDIA, et pour l’industrie du mobile, c’est un moment historique. L’architecture en question est le nom de code Kepler et elle est bien connue sur PC pour avoir augmentée considérablement la densité de puissance de calcul de NVIDIA.

Screen Shot 2014-01-06 at 6.18.21 AM

Quand Qualcomm ou Samsung mettent en avant des compatibilités « Open GL ES 3.0 », NVIDIA peut exécuter de l’Open GL 4.4 et le moteur Unreal Engine 4 comme les PC actuels.

K1-vs-360-vs-PS3

Quel avantage pour nous ? L’utilisation de 4.4 GL et le support DX11 vont pouvoir faciliter grandement les portages de jeux PC vers Android. D’ailleurs, NVIDIA n’a pas tardé à rappeler que son Tegra K1 sera bien plus puissant que la Xbox 360 et la Playstation 3, la précédente génération de consoles de salon.

DSC02477

Vous imaginez donc les raisons qui poussent NVIDIA à encourager le développement de jeux AAA sur Android. Avec la possibilité d’utiliser une Shield directement branchée via HDMI (ou Miracast – sans fil) sur son téléviseur, NVIDIA offre de belles perspectives aux gamers, qu’ils soient occasionnels ou passionnés.

En espérant que les ambitions de NVIDIA encouragent Google à accélérer le développement de l’éco-système Android, au delà du marché des joueurs occasionnels.