Traitement de données : le GPU fait le tri

Les cartes graphiques ajoutent une nouvelle corde à leur arc: le tri rapide d’informations. Dans ce domaine, elles sont quatre fois plus rapides que les meilleurs processeurs x86.

Depuis quelques années, les composants intégrés aux cartes graphiques, les GPU (Graphics Processing Units), peuvent être utilisés pour des calculs massivement parallèles, un domaine où ils excellent. Les cartes graphiques étant également pourvues de composants mémoire bien plus rapides que ceux présents dans les PC (un élément requis pour le traitement de larges scènes en 3D), certains pourraient être tentés de les utiliser pour des tâches plus classiques, comme la gestion d’une base de données ou le classement d’informations.

C’est ce qu’a réalisé une équipe de chercheurs de l’université de Virginie, qui a mis au point des algorithmes de tri optimisés pour les cartes graphiques NVIDIA. Programmés à l’aide du langage maison CUDA, ces algorithmes se montrent d’ores et déjà bien plus performants que leurs équivalents fonctionnant sur un processeur x86 standard.

Ainsi, avec une carte graphique NVIDIA GeForce GTX 480, il est possible de trier un milliard de clés par seconde (plus de détails ici). Un résultat très encourageant sachant que les meilleures implémentations CPU n’arrivent pas à dépasser les 240 millions de clés triées par seconde sur un processeur quadricœur Core i7 et les 560 millions de clés par seconde sur les puces expérimentales d’Intel comprenant plusieurs dizaines de cœurs.

Le GPU Computing semble donc en passe de se trouver un nouveau marché, celui du traitement massif de données. L’arrivée de cartes graphiques professionnelles comportant jusqu’à 6 Go de mémoire permettra d’aborder encore plus sereinement ce nouveau domaine.