GPU3 : pas de support des GPU ATI dans la 1ère version!

Par , le dans Projet Folding@Home - 19 Commentaires
GPU3 : pas de support des GPU ATI dans la 1ère version!
Vijay Pande vient de publier un état d’avancement du nouveau client GPU3 en cours de développement. Pour rappel, ce core sera basé sur OpenMM, librairie développée par Stanford afin d’accélérer et d’améliorer les simulations, tout en facilitant la maintenance du code et sa mise à jour. OpenMM supporte OpenCL en version bêta dans sa version 1.0 (prévue pour la fin janvier 2010), mais il faut préciser que le support d’OpenCL est encore très jeune et qu’il ne sera donc pas présent dans la première version du core GPU3. Ce premier core GPU3 devrait encore utiliser CUDA sur les cartes nVidia, et CAL/Brook sur les cartes ATI.

Comme CAL/Brook n'est plus maintenu par ATI, ce core sera distribué uniquement pour les GPUs nVidia dans un premier temps. En effet, ATI ne supporte plus Brook/CAL, mais ils ne proposent pas non plus d’implémentation pleinement fonctionnelle d’OpenCL, nous sommes donc coincés du coté d’ATI. Une fois que les implémentations d’OpenCL auront gagné en maturité (à la fois chez ATI et nVidia), les développeurs seront capables de terminer et d’optimiser le code OpenCL (on ne peut pas optimiser réellement du code tant que les implémentations ne sont pas finalisées), puis les portions de code OpenCL partiront en test qualité.

Si vous attendiez donc OpenCL comme le messie (plus particulièrement en termes de support des GPUs ATI), ce ne sera pas pour la première version, mais dès que l’environnement aura gagné en maturité, les développeurs pourront avancer sur ce point. D’ailleurs, lorsque le support des machines multi-cores par OpenCL aura lui aussi gagné en maturité, les équipes de développement envisageront le portage du code GPU3 vers un core de type SMP2 (c'est-à-dire un core SMP basé sur les threads). Si les performances sont bonnes, il sera peut être possible d’envisager un retour à une base de code commune et unique pour la plupart des calculs effectués sur la plateforme Folding@Home.

Correctif du 14/01 à 23H :
Vijay a apporté quelques corrections et précisions à son post à propos des implémentations d’OpenCL. Il convient tout d’abord de préciser que les développeurs rencontrent des problèmes à la fois avec les implémentations d’ATI et de nVidia, ce qui explique probablement pourquoi la première version du core GPU3 ressemblera beaucoup à l’actuel GPU2 et utilisera CUDA. Vijay ne sait pas encore si les bugs proviennent du code Folding@Home ou des implémentations elles-mêmes, mais l’équipe de Stanford travaille en étroite collaboration avec celles de nVidia, ATI et même Apple pour s’assurer de la parfaite compatibilité du code avec les implémentations de chacun.

Les implémentations d’ATI et de nVidia sont donc parfaitement fonctionnelles, seul le code OpenCL de Folding@Home n’est pas encore opérationel.

Adapté de : Some more details on the GPU3 core, regarding OpenCL