NVIDIA GeForce GTX 280 : la nouvelle bombe ?

16 juin 2008 à 15h00
0

Une architecture unifiée de seconde génération



Vous l'aurez tout de suite noté, la petite dernière de NVIDIA profite d'une toute nouvelle appellation commerciale. Exit, les séries GeForce 9, et bienvenue aux GeForce de la série 200. Avec cette nouvelle nomenclature, NVIDIA essaie de clarifier ses gammes et promet de ne pas commettre les erreurs du passé avec des déclinaisons aussi nombreuses qu'obscures : on jugera sur pièce. En attendant, le GeForce GTX 280, nom de code G200, pouvait difficilement figurer dans la famille GeForce 9 puisque son architecture est sensiblement différente.

NVIDIA profite en effet du GeForce GTX 280 pour lancer sa seconde génération d'architecture graphique unifiée. Avec le G80, qui a donné naissance aux GeForce 8 et GeForce 9, NVIDIA avait jeté les bases de sa première architecture graphique unifiée, une architecture où les anciennes notions de pixels pipelines ou d'unités de vertex n'existent plus. Plutôt que de segmenter la puce avec des unités fixes spécialisées dans telle ou telle tâche, NVIDIA a en effet pris le parti, tout comme AMD du reste, de doter sa puce d'unités reconfigurables pouvant travailler indifféremment sur tout type de données.

000000DC00395505-photo-nvidia-geforce-8800-pourquoi-unifier.jpg

Le pourquoi d'une architecture unifiée


Ainsi, avec une scène massivement chargée en pixels shaders, plutôt que d'avoir comme avec les anciennes architectures DirectX 9, une partie des unités destinées aux Vertex qui ne servent à rien, toutes les unités du processeur sont ici utilisées pour le traitement des pixels shaders : l'avantage est bien réel et aboutit à une utilisation la plus efficiente possible des ressources de la puce. Des ressources qui peuvent être exploitées aussi bien pour le rendu 3D que pour des calculs plus généraux, le GPU pouvant maintenant être programmé pour un usage autre que le graphique.

Une nouvelle ère pour le GPU ?



0000006401367784-photo-logo-nvidia-cuda.jpg
Depuis plusieurs années déjà, divers chercheurs et mathématiciens tentent d'utiliser la puissance des processeurs graphiques pour effectuer d'autres tâches plus généralistes que les simples rendus 3D : c'est ce qu'on appelle le GP-GPU (general purpose GPU). Les intéressés sont en effet partis du constat qu'à l'inverse des CPU, les puces graphiques ont une architecture massivement parallèle particulièrement adaptée à certains types de calcul (simulations financières, compression vidéo, etc.). Alors que les CPU sont conçus pour offrir les meilleures performances en fonction du flux d'instructions utilisé, et donc exécuter une tâche (ou un thread) le plus rapidement possible, les GPU sont eux conçus pour traiter un maximum de données ou de threads (d'un type certain). Conséquence logique, l'architecture des deux puces est différente : lorsque la plus grande partie des transistors d'un CPU est consacrée à la mémoire cache, une large proportion du GPU est dédiée aux unités d'exécution.

01367854-photo-nvidia-geforce-gtx-280-comparaison-cpu-gpu.jpg

Différence d'architecture entre CPU et GPU


Oui mais voilà, jusqu'à présent, aucun standard n'avait été clairement défini pour exploiter les ressources des GPU, dans un autre contexte que la 3D et le moins qu'on puisse dire est qu'exploiter un GPU comme une unité de calcul est une tâche particulièrement complexe. Les développeurs devaient en effet adapter leur code sous forme de pixel shaders pour utiliser le GPU comme aide au calcul. L'évolution des puces graphiques aidant, ATI et AMD se sont tour à tour penchés sur la question, chacun apportant sa propre solution. Avec le GeForce 8800, NVIDIA introduisait CUDA, sa bibliothèque de développement utilisant un langage assez naturel pour les développeurs, en l'occurrence le C et le C++.

Scindée en une couche logicielle avec un environnement d'exécution d'un côté et un pilote de l'autre, l'API CUDA se veut pratiquement transparente pour le développeur et nécessite naturellement une puce graphique compatible. Avec le GeForce GTX 280, NVIDIA propose diverses améliorations d'ordre architectural pour accélérer le traitement des programmes CUDA tout en prenant en charge, pour la première fois, la double précision, mais nous aurons l'occasion d'évoquer à nouveau le sujet. Pour l'utilisateur, CUDA et les programmes en tirant profit, incarnent la promesse d'une nouvelle ère, celle où la puce graphique assiste le processeur central pour d'autres types de tâches que la 3D. Et NVIDIA a un argument de taille pour aider à la concrétisation de la chose : avec les gammes GeForce 8, GeForce 9 et maintenant GeForce GTX 200, ce sont près de 70 millions de puces graphiques à travers le monde qui peuvent exploiter des programmes CUDA. Qui plus est, la prochaine version de CUDA pourra également s'exécuter sur les processeurs x86.

Deux exemples d'applicatifs utilisant CUDA



Pour accompagner le lancement du GeForce GTX 280, NVIDIA propose deux applications grand public se basant sur son API CUDA. Il y a tout d'abord la version NVIDIA du client Folding@Home. Un temps disponible dans une version fonctionnant avec les cartes graphiques ATI, Folding@Home a été redéveloppé, par l'université de Stanford, pour fonctionner sur les cartes graphiques NVIDIA via CUDA. Le principe est toujours celui du calcul distribué : un serveur envoie aux clients Folding@Home diverses données à traiter et c'est ensuite la carte graphique qui va résoudre les calculs en question.

0000010901367496-photo-nvidia-geforce-gtx-280-folding-home.jpg

Folding@Home tournant sur le GeForce GTX 280


Dans un autre registre, la firme a travaillé avec Elemental Technologies sur le développement d'un convertisseur média logiciel. Baptisé BadaBOOM, celui-ci utilise CUDA et donc les ressources de la puce graphique pour transcoder une vidéo vers le format H.264, divers profils étant du reste proposés (iPhone, iPod, PSP, PS3, Xbox 360, etc.). Attention, il s'agit ici d'une application payante.

000000F501367284-photo-nvidia-geforce-280-gtx-badaboom.jpg

L'encodeur vidéo BadaBOOM d'Elemental


Dans les faits, l'encodage vidéo opéré par BadaBOOM se révèle particulièrement véloce. Nous avons mesuré, chronomètre en main, le temps nécessaire pour encoder une vidéo MPEG2 de 2 minutes au format H.264 avec trois logiciels différents :

01367830-photo-nvidia-geforce-gtx-280-badaboom-bench.jpg


On le voit, BadaBOOM, qui utilise notre carte graphique GeForce GTX 280, est le plus rapide à encoder notre vidéo test. Toutefois il faut tempérer ces bons résultats en précisant que l'encodeur vidéo d'iTunes est mono-threadé et n'utilise donc qu'un seul coeur du processeur alors qu'il nous est très difficile d'opérer les mêmes réglages lors de la compression vidéo, les trois logiciels n'ayant pas un seul réglage en commun.
Modifié le 01/06/2018 à 15h36
0 réponses
0 utilisateurs
Suivre la discussion

Les actualités récentes les plus commentées

Linky : pour l'ANFR, les Equipements Radio des compteurs sont sans danger pour la santé
La France va créer son commandement militaire de l'espace
Toyota : 50% des véhicules vendus au premier semestre étaient des hybrides-électriques
La NASA détecte un trou noir très inhabituel qui vient contredire nos théories sur l’univers
La Zone 51 envahie ? L'armée américaine pourrait répondre par la force
Contre-nature ou nécessité absolue ? Un ventirad pour Raspberry Pi fait son apparition
Streaming vidéo : le coût écologique serait désastreux, selon l'association The Shift Project
La Russie veut armer ses mini-drones de terrain... et ça ne fait pas vraiment rêver
Neuralink : Musk annonce que la start-up est prête à tester sa technologie sur des humains
Pour ou contre : la Nintendo Switch Lite est-elle (vraiment) une bonne idée ?
scroll top