Un outil open source jette un pont entre les CPU et le GPU Computing

Ocelot simplifie le développement d’outils massivement parallèles en permettant la création d’applications GPU et CPU depuis un même code source.

Le projet Ocelot intéressera les scientifiques, les mathématiciens et – de façon plus générale – toutes les personnes en mal de puissance de calcul. Cette solution sous licence open source BSD est capable de convertir des programmes CUDA (l’outil de programmation des cartes graphiques NVIDIA) en code exploitable sur des processeurs classiques.

Grâce à Ocelot, les développeurs pourront transformer leurs applications conçues pour les plates-formes de GPU Computing NVIDIA en logiciels capables de fonctionner sur des machines dépourvues de telles solutions. Un gain de temps appréciable. Quoiqu’encore en cours de développement, Ocelot est déjà compatible avec la plupart des codes sources CUDA.

Ocelot fonctionne selon deux modes : soit le code CUDA est exécuté sur des processeurs classiques au travers d’une machine virtuelle (avec compilation just-in-time), soit il est converti en instructions exploitables par LLVM (Low Level Virtual Machine ou machine virtuelle de bas niveau), lequel pourra alors compiler le code pour un large ensemble d’architectures processeur allant des classiques puces x86 à des offres plus avancées, comme le Cell d’IBM-Toshiba-Sony.

Ce projet maintient des liens étroits avec Harmony, ce qui permet d’exploiter au mieux les architectures multicœurs, même si un important travail reste à effectuer dans ce domaine. Le développement d’Ocelot est assuré par une équipe de recherche du Georgia Institute of Technology d’Atlanta, menée par Gregory Diamos et Andrew Kerr.