GTC 2010 : PGI propose un compilateur pour adapter les programmes CUDA aux processeurs x86

CUDA-x86 de PGI offre aux développeurs de convertir un code source CUDA en binaire optimisé pour les processeurs x86, y compris s’ils fonctionnent en cluster. Un produit très attendu.

Jen-Hsun Huang, président, CEO et cofondateur de NVIDIA, a profité de la GTC 2010 pour annoncer la sortie prochaine d’un nouvel outil permettant de compiler du code CUDA C en programme destiné aux processeurs x86.

Créé en partenariat avec PGI (société qui propose par ailleurs un compilateur Fortran pour CUDA), CUDA-x86 est un produit commercial qui dispose d’un support professionnel, d’un tout autre niveau que celui proposé par le compilateur x86 livré par NVIDIA avec son kit de développement. Reste à savoir si les performances de ce nouvel outil arriveront à justifier son prix (qui reste inconnu à ce jour). PGI promet d’exploiter l’ensemble des cœurs du ou des processeurs présents, ainsi que les unités de type SIMD. Le code généré sera optimisé aussi bien pour les puces 32 bits que 64 bits. Bon point, les clusters seront supportés en standard.

CUDA-x86 sera très utile dans deux cas de figure. Il permettra de commencer à utiliser un logiciel CUDA sur une infrastructure ou les GPU n’ont pas encore été déployés (ou ne le seront jamais). Il offre également aux éditeurs de fournir des binaires x86 en lieu et place des modules CUDA, sans devoir réécrire le code correspondant. Seul l’utilisateur du logiciel concerné verra la différence, puisque les performances seront – en toute logique – inférieures en mode x86.

Grâce à CUDA-x86, la présence d’un GPU NVIDIA devient totalement optionnelle… et c’est bien ce que demandaient les partisans de cette technologie.

MAJ du 23/09/2010 : contrairement à ce que nous avons dit, il n'existe aucun compilateur x86 dans le kit de développement CUDA fourni par NVIDIA. En effet, ce projet, mainte fois évoqué, n'a jamais été finalisé. CUDA-x86 de PGI est donc à ce jour la seule offre permettant d'adapter les programmes CUDA aux processeurs x86.