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
0
Partager l'article :

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

Vignette Crit'air : vers un durcissement des conditions d'obtention
NVIDIA en discussion avancée pour le rachat d'ARM pour au moins 32 milliards
Face à de très mauvais résultats financiers, EDF s'apprête à se serrer la ceinture
Pollution : un think tank britannique demande à interdire les publicités pour les SUV
Quand Elon Musk affirme que les pyramides ont été érigées par des aliens, l'Égypte l'invite sur place
Depuis 2011, Hadopi c'est 87 000 euros d'amende pour... des dizaines de millions d'euros de subventions !
L'électricité produite en Europe au premier semestre provenait majoritairement d'énergies renouvelables
Plus de 700 km d'autonomie annoncés pour la Mercedes EQS
La première station de recharge à hydrogène ferroviaire annoncée en Allemagne
Les employés de Blizzard font la lumière sur d'inquiétantes disparités salariales

Notre charte communautaire

  • 1. Participez aux discussions
  • 2. Partagez vos connaissances
  • 3. Échangez vos idées
  • 4. Faites preuve de tolérance
  • 5. Restez courtois
  • 6. Publiez des messages utiles
  • 7. Soignez votre écriture
  • 8. Respectez le cadre légal
  • 9. Ne faites pas de promotion
  • 10. Ne plagiez pas
  • Consultez la charte
scroll top