Intel travaille sur ce point depuis bien longtemps — depuis août 2013 en public. L'objectif premier est d'implémenter la dernière version d'OpenMP à ce moment dans Clang, c'est-à-dire la version 3.1… et cet objectif est maintenant atteint. Cette implémentation ne fonctionne que sous Linux et OS X pour le moment et utilise le moteur développé par Intel et disponible librement. OpenMP 3.1 sera donc disponible dans la prochaine version de Clang, numérotée 3.7.
Le travail continue à présent sur la version 4.0, sortie en juillet 2013, pour amener Clang au même niveau que GCC. Elle offre principalement des fonctionnalités pour les accélérateurs (comme Xeon Phi), mais aussi la gestion des opérations atomiques, des erreurs, de l'affinité des fils d'exécution, des réductions avec des opérateurs définis par l'utilisateur ou encore des opérations SIMD.
Au niveau des performances, les derniers tests publiés par Phoronix en mai 2014 montraient que l'implémentation d'OpenMP laissait encore à désirer pour Clang sur un certain nombre de points, avec des améliorations de performance moindres que celles permises par l'implémentation de GCC. Depuis lors, Clang a connu plusieurs versions mineures (la 3.5 et la 3.6) et l'implémentation d'OpenMP a également bien évolué, l'écart s'est probablement réduit.
Source : liste de diffusion de Clang (OpenMP 3.1 Implementation Complete et Option to control level of OpenMP support).
Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.