Surfant sur le retour à la mode des co-processeurs spécialisés, ATI Technologies a dévoilé hier sa technologie de "Stream Computing" dont l'objectif est de déporter sur ses puces graphiques certains calculs spécialisés afin de libérer le processeur central et doper les performances. ATI, qui est en passe de fusionner avec AMD, a publié hier la version 6.5 de son pilote Catalyst avec le support de la technologie Stream pour ses cartes Radeon X1900 et X1950. Les éditeurs utilisant son API peuvent rerouter certains calculs vers les pixels shaders (nuanceur) de ces cartes afin de doper les performances. Le projet Folding@Home annonce ainsi une multiplication par 20 à 40 des performances de son client de calcul distribué appliqué à la recherche sur les protéines. Dans le cadre de l'initiative Torrenza d'AMD, sa future maison mère, ATI travaille séparément sur une version de ses puces graphiques capable de se connecter directement aux puces Opteron au travers d'un bus Hypertransport cohérent. Une façon de contourner les limitations du bus PCI-Express, mais aussi de faire du processeur graphique (GPU) un véritable co-processeur du CPU. L'idée pour ATI est d'étendre son domaine de compétence hors du domaine des jeux et de l'affichage 3D pour s'attaquer avec ses puces à des problèmes complexes comme la recherche génomique, le calcul scientifique ou la simulation financière. Plus prosaïquement, la technologie pourrait être utilisée par des développeurs de systèmes d'exploitation pour accélérer certaines fonctions, une approche déjà utilisée par Apple pour ces API de filtre graphique et vidéo dans Mac OS X. Course à la puissance Ce qui intéresse les développeurs est l'impressionnante puissante brute des processeurs graphiques. Ainsi le prochain GPU d'ATI pourra traiter près de 500 milliards d'opérations en virgule flottante par seconde contre 35 gigaflops pour un Xeon 5160 "WoodCrest". Il faut toutefois parvenir à paralléliser les programmes pour tirer parti des capacités des GPU, un art qui reste complexe. Et puis il n'est pas dit que ces capacités de traitement exceptionnelles restent durablement l'apanage des GPU. IBM avec Cell a déjà réussi à associer des c?urs processeurs traditionnels à de multiples unités de calcul vectoriel. Il est vraisemblable qu'Intel et AMD compléteront tôt ou tard leurs c?urs traditionnels par des c?urs vectoriels, ne serait-ce que parce que la réduction continue des tailles de gravure des processeurs va permettre de placer de plus en plus de c?urs, pas forcément symétriques sur une même puce. Ironiquement, les CPU pourraient ainsi absorber une partie des fonctions des GPU actuels au tournant de la décennie, comme autrefois les processeurs ont absorbé les fonctions des co-processeurs.