Espace membre :
flechePublicité

// Encodage par GPU : tests et comparatif

Publié par le Mardi 19 Mai 2009

Encodez une vidéo avec votre carte graphique

La bataille acharnée que se livrent NVIDIA et AMD dans le domaine des GPU donne naissance à des applications surprenantes. Il est en effet maintenant possible d'encoder une vidéo via sa carte graphique.

Jusqu'alors, chaque élément de notre ordinateur avait un rôle propre : la carte graphique avait pour tâche le traitement 3D, dont le jeux vidéo, tandis que le processeur s'occupait... du reste. Aujourd'hui, la donne a changé et les fondeurs que sont AMD et NVIDIA ont entrepris d'utiliser leur GPU pour d'autres opérations que des calculs 3D. Pourquoi une telle évolution ? Quels avantages peut-on tirer d'une telle technologie et quid des performances sont autant de questions auxquelles nous répondrons dans ce dossier.

Sommaire :


Pourquoi utiliser le GPU pour l'encodage ?

Si les constructeurs de GPU se sont tournés vers cette voie qui n'en est toutefois qu'à ses prémices, ce n'est pas seulement pour diversifier leur activité et promouvoir un peu plus leur produit. C'est également parce que le GPU est un vrai « client » en ce qui concerne certains types de calculs, plus précisément les opérations parallélisables. Pour comprendre cela, il faut se plonger dans les différences fondamentales qui existent entre un CPU et un GPU, c'est à dire entre un processeur et une carte graphique.

Le processeur tel que nous le connaissons actuellement est un excellent élément pour traiter rapidement un flux d'instructions complexes important, du fait de la rapidité de l'échange entre la mémoire cache, qui occupe la majeure partie de la surface d'un CPU, et les unités de calcul, en nombre restreint. Dans un GPU, les unités de calcul sont en revanche très nombreuses, toutes destinées à du calcul « simple » et la mémoire prend très peu de place. Il est donc tout à fait véloce pour ce qui est du calcul parallèle, c'est-à-dire une opération pouvait être « découpée » en une multitude de calculs indépendants, comme le rendu 3D ou la conversion d'une vidéo.

Différence GPU CPU
Le nombre d'unités de calculs est beaucoup plus important dans un GPU que dans un CPU


De par leur nature hautement programmable, les GPU sont ainsi apte à effectuer des calculs généralistes au même titre qu'ils effectuent depuis des décennies des rendus 3D. C'est ce qu'on appelle le GP-GPU (general purpose GPU). NVIDIA et son API CUDA ou AMD avec le ATI Stream proposent deux langages de programmation qui ont permis la création d'applications comme Avivo Video Converter ou Badaboom, que nous détaillerons plus avant.

Quelques chiffres à titre de comparaison


Core 2 Quad Q9550
Pour exprimer une puissance de calcul, la grandeur utilisée traditionnellement est le FLOPS (pour FLoating point Operations Per Second), qui représente le nombre d'opérations en virgule flottante (c'est à dire en chiffre réel) effectuées en une seconde. A titre de comparaison, le processeur grand public le plus puissant à l'heure actuelle, à savoir le Core i7 965 Extreme Edition d'Intel, développe « seulement » 69 gigaflops, tandis qu'une GeForce GTX 280 de chez NVIDIA s'approche du Teraflop à l'aide de ses 240 unités de calcul (qui ne sont pas comparables à celles présentes dans un CPU, rappelons-le).

Protocole de test

Dans ce dossier, nous avons tout d'abord voulu vérifier l'efficacité des GPU en matière d'encodage vidéo. Nous avons également souhaité mettre face à face plusieurs applications à même d'utiliser le GPU pour effectuer l'encodage. Afin de coller au plus près d'une utilisation commune de ces logiciels, nous avons choisi de travailler sur deux fichiers :
  • une vidéo MPEG-4 de 350 Mo encodée en XviD à 970 Kbps, flux audio en MP3 135 Kbps ;
  • un DVD que nous avons au préalable sauvegardé grâce à DVD Shrink. Le total des fichiers MPEG-2 représente 4,8 Go.
Nous avons encodé ces deux vidéos vers le format H.264 et son profil Baseline au niveau 3.0, avec un débit de 2 000 Kbps et 780 Kbps, vidéos pouvant être lues par la plupart des appareils mobiles comme l'iPhone ou la PSP. La résolution choisie convient à la plupart d'entre eux (640 x 480). Quant au flux audio, il a été encodé en AAC Level 4 avec un débit de 128 Kbps.

Pour effectuer ces opérations, nous avons eu recours à la machine suivante :
Ordinateur de Bureau Dell Dimension 3100c
  • Boîtier Antec Nine Hundred
  • Carte-mère Asus P5Q-EM (BIOS 0202),
  • Processeur Intel Core 2 Quad Q9300 2,5 GHz,
  • 4 Go de mémoire DDR2-800 Corsair,
  • Disque dur Western Digital Velociraptor 300 Go fonctionnant à 10 000 tours par minute
C'est Microsoft Windows Vista Intégrale en version 32 bits qui a été utilisé durant ces tests. Les chiffres que nous vous présentons sont une moyenne de trois mesures effectuées après redémarrage systématique de la machine de test.

Deux remarques concernant le matériel choisi. Tout d'abord, le processeur Intel Core 2 Quad Q9300 n'est certes pas le plus véloce des CPU actuellement sur le marché, mais il est nettement plus « grand public » qu'un Q9550 ou un Core i7 940. En second lieu, le disque dur a volontairement été choisi le plus rapide possible afin de ne pas niveler les performances des logiciels et des composants.

Quelles cartes graphiques compatibles ?

Carte Graphique Asus Extreme N8800 Ultra
Evoquons enfin le choix des cartes graphiques. Tous les GPU ne sont pas compatibles avec CUDA pour NVIDIA et l'ATI Stream pour AMD. Chez AMD, la compatibilité ATI Stream démarre avec les cartes Radeon HD de la série 2000 et se poursuit avec les Radeon HD 3000 et 4000. Vous trouverez une liste exhaustive sur cette page. Chez NVIDIA, ce sont les familles GeForce 8, GeForce 9, GeForce séries 100/200 qui peuvent tirer profit de CUDA. Les pilotes et les systèmes d'exploitation sont une autre restriction : CUDA est compatible avec Windows XP et Vista, tout comme l'ATI Stream, qui nécessite toutefois l'installation du Service Pack 3 pour Windows XP. Pour les pilotes, la version 8.12 des Catalyst est un minimum, alors que pour une carte NVIDIA, ce sont les versions ultérieures à la mouture 177.35 qui seront aptes à faire fonctionner CUDA. Enfin, sachez que ni l'API de NVIDIA ni celle d'AMD ne gère d'un côté le SLI, de l'autre le CrossFire. En conséquence, nous effectuerons nos tests sans tenir compte de ces possibilités.

Nous avons finalement opté pour une Radeon HD 4870 dotée de 1 Go de mémoire du côté d'AMD, et pour une GeForce GTX 260 de NVIDIA. Ces deux cartes sont relativement proches en termes de performances et sont dans la même gamme de prix et il nous a paru pertinent de les comparer dans ce dossier. Enfin, les pilotes utilisés sont les Catalyst 9.4 (le patch permettant d'utiliser ATI Stream se trouve en fin de page) et les GeForce 185.85 WHQL.

Les applications testées

Si le matériel est choisi, reste à sélectionner les logiciels qui nous permettront de nous faire une idée des performances de l'encodage par GPU. Le BadaBOOM d'Elemental Technologies et NVIDIA parait incontournable. Nero Move It, compatible avec CUDA, sera également testé, ainsi que Cyberlink MediaShow Espresso, qui peut solliciter à la fois les GPU NVIDIA et ceux d'AMD. Enfin, MediaCoder et Handbrake joueront le rôle de témoins, avec un encodage utilisant uniquement le processeur.


Envoyer par mail Envoyer par mail
Chargement des commentaires...
( les afficher maintenant )
flechePublicité

Les bons plans !

Partenaire Clubic.com

Top logiciels Suite de sécurité

Kaspersky Internet Security 2012
Kaspersky Internet Security 2012 : La suite tout-en-un de Kaspersky compatible Windows 7 !
ZoneAlarm Free FireWall
Protéger un PC des intrusions extérieures avec ZoneAlarm Gratuit !
Norton Internet Security
Norton Internet Security 2012 disponible sur Clubic !
AVG Internet Security 2012
AVG Internet Security 2012 : La nouvelle version de la suite de sécurité AVG !
BitDefender Total Security
Suite de protection complète pour votre ordinateur
BitDefender Internet Security
Suite de sécurité intégrant un pare feu

Fond d'écran

Paysage paisible de la Brevine (Suisse)

Partenaire Clubic.com

flechePublicité

BE GEEK ! Avec

Glossaire High-Tech : #   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z