ATI : Stream Computing et Folding@Home

Publié le 03/10/2006 à 17:11 par
Imprimer

ATIDepuis le lancement de la Radeon X1800 il y a tout juste 1 an, ATI indique que ses GPUs sont capables de bien plus que du rendu d'images 3D. Nous vous en avons d'ailleurs parlé à plusieurs reprises, notamment en août dernier avec l'annonce de la DPVM qui consiste en un accès bas niveau au GPU, soit à un pas important vers l'accès au GPU en tant qu'unité de calcul général.

Aujourd'hui, ATI va plus loin. Si les précédentes annonces et documents publiés étaient avant tout destinés à remplir les documents marketing pour le lancement de nouveaux GPUs et ensuite à informer les développeurs des nouvelles possibilités, on se dirige aujourd'hui vers des applications pratiques de tout ceci. Il y a quelques jours, ATI a présenté à San Francisco et en partenariat avec l'université de Stanford, PeakStream, Microsoft, Adobe etc., une initiative nommée Stream Computing destinée à faire savoir clairement qu'ATI se place dorénavant également comme fournisseur de puissance de calcul. PeakStream est un jeune acteur sur le marché qui propose des couches logicielles qui permettent d'exploiter des processeurs tels que les GPUs d'une manière générale, soit un partenaire très important pour aider ATI à entrer sur ce marché.

Au passage, la DPVM (Data Parallel Virtual Machine) est renommée CTM (Close To Machine), le marketing ayant jugé ce dernier nom plus accrocheur. ATI dispose de différentes démonstrations qui visent le marché professionnel et utilisent le GPU comme accélérateur. Nous citerons par exemple des systèmes de reconnaissance faciale très gourmands en ressources (Intel utilise d'ailleurs cet exemple d'utilisation pour ses futurs CPUs doté de dizaines de cores), des simulations financières, des moteurs de recherche dans des bases de données… Tout cela est fonctionnel et ATI tente maintenant de convaincre le marché de lui faire confiance.


L'université de Stanford vient de faire un pas symbolique avec la sortie d'un client Folding@Home accéléré par GPU. Actuellement il n'est certifié que sur Radeon X1900 et X1950, les autres GPUs étant qualifiés de trop peu performants et en plus de limités par leur architecture dans le cas des GPUs Nvidia. Il vous faudra également utiliser les Catalyst 6.5 ou 6.10 (notez qu'un bug semble affecter la version beta actuelle des Catalyst 6.10). Pour faciliter la certification (il n'est bien entendu pas question de laisser tourner des systèmes qui produisent des résultats erronés), l'équipe de développement se concentre pour le moment sur ce matériel et ces drivers. Bien que le tout utilise Direct3D 9, le programme vérifie que ceux-ci sont bien utilisés et se ferme dans le cas contraire. Sur un Core 2 Duo E6600, nous avons noté un temps approximatif de calcul d'une étape de 18 minutes (un seul core est utilisé par l'application) contre 7 minutes pour une Radeon X1950 XTX (un core reste pleinement utilisé). Notez que la Radeon fonctionne en mode 2D puisque Flding@Home fonctionne en mode fenêtré, c'est-à-dire à des fréquences réduites (500/600 au lieu de 650/1000).

ATI nous a indiqué qu'une version utilisant la CTM au lieu de Direct3D était en développement et devrait arriver prochainement si tout se passe bien avec des performances qui pourraient doubler et ainsi peut-être permettre le support des Radeon X1800.

La CTM permet un gain parfois énorme puisqu'il n'est plus nécessaire de contourner certaines limitations imposées par l'API. Les gains cités par ATI sont souvent très impressionnants mais peuvent être gonflés par plus d'optimisations génériques d'un côté que de l'autre. Il faut savoir que les algorithmes utilisés dans les versions CPUs sont en général connus depuis longtemps et ont été optimisés en profondeur au fil du temps alors que leur version GPU vient tout juste d'apparaître avec pour premier objectif "que ça fonctionne". Vu la complexité imposée par le contournement de l'utilisation primaire de Direct3D il est logique de penser que plus de travail est fait pour optimiser le code une fois la CTM utilisée, en plus des avantages qu'elle entraîne. Un ingénieur d'ATI nous a par ailleurs indiqué avoir été surpris par la facilité avec laquelle de nouveaux employés habitués à coder sur CPU arrivaient à tirer pleinement partie des GPUs via la CTM.

Interrogé au sujet de la possible utilisation de la CTM dans Havok FX, ATI nous a indiqué que la solution était évaluée par Havok. Si elle est retenue ATI pourrait disposer d'un avantage important en termes de performances par rapport à Nvidia, mais cela obligerait Havok à supporter 2 versions de son logiciel. Autre avantage de la CTM, elle facilite l'utilisation du GPU pour traiter la physique qui influence le gameplay alors que les GPUs sont principalement vus comme capables de traiter la physique d'effet qui ne concerne que le visuel.

Reste des détails importants tels que la fiabilité et la précision de calcul. ATI se réserve la possibilité de lancer dans le futur une gamme de GPUs destinés à être utilisés en tant que calculateur général, avec des certifications différentes de manière à garantir la fiabilité. Actuellement le nombre de petites erreurs de calcul est plus élevé sur GPUs grand public que sur CPUs, qui ne produiraient qu'une erreur tous les 2 jours selon l'équipe de Stanford. Attention cependant, ces petites erreurs sont insignifiantes dans la plupart des cas, mais le fait qu'ATI ne s'en cache pas démontre bien que le fabricant a étudié la question en détail et n'avance pas en aveugle dans cette voie. Si ATI lance une nouvelle gamme de GPUs, on peut supposer que ceux-ci passeront des tests plus poussés comme c'est le cas pour les FireGL.

Les GPUs actuels utilisent des unités de calcul FP32 simplifiées qui ne donnent donc pas toujours le même résultat qu'une unité de calcul qui respecte complètement la norme IEEE. Les GPUs DirectX 10 iront plus loin dans ce sens, mais ATI nous a indiqué qu'ils ne correspondraient toujours pas aux spécifications exactes bien qu'ils en seront proches. Le but étant bien entendu de ne pas augmenter de trop le coût des GPUs. On peut cependant supposer qu'AMD pourrait faire intégrer dans le futur des unités qui respectent complètement la norme de manière à disposer d'un tel produit pour accompagner sa plateforme Torrenza (pourquoi ne pas le faire dans un GPU haut de game pour lequel la taille du die est moins importante ?).

ATI se place donc en tant que précurseur sur ce nouveau marché. Reste que Nvidia n'est pas loin et dispose d'une infrastructure adaptée avec Quadro Plex même si l'architecture vieillissante de ses GPUs actuels limite fortement leur utilisation comme unité de calcul générale. Une fois le G80 dans le Quadro Plex, Nvidia devrait disposer d'une solution commerciale tout prête. Reste un dernier détail, le fondateur de PeakStream et actuel Chief Technology Officer, Matthew Papakipos, est un ancien de Nvidia et était responsable et concepteur de l'architecture des GeForce 3, GeForce 4, GeForce FX et GeForce 6 (en plus d'avoir travaillé sur les autres GPUs depuis le TNT). On peut donc imaginer des liens étroits entre Nvidia et PeakStream même si l'aspect business a fait tourner ce dernier vers toutes les possibilités offertes, celle d'ATI étant actuellement la plus intéressante et la plus aboutie.

Vos réactions

Top articles