
Justement, ce travail est sur le point d’être intégré à Clang, afin d’exécuter du code CUDA sur les processeurs graphiques AMD sans étape extérieure (surtout que le compilateur officiel de NVIDIA est aussi maintenant basé sur Clang). Une des premières étapes est de marquer les GPU AMD comme compatibles avec CUDA, ce qui a été fait il y a deux semaines, après un certain temps de discussion. D’autres modifications sont toujours en discussion avant une intégration à Clang pour gérer le code généré par HIP.
Côté OpenCL, la version 2.2 de la norme commence à infuser dans Clang. Cela signifie principalement qu’il deviendra très bientôt possible d’utiliser du code C++14 dans du code prévu pour être déchargé sur un accélérateur (comme une carte graphique). La première étape est déjà franchie : l’option -std=c++ est comprise par Clang pour du code OpenCL. Le code actuel pour le reste de l’implémentation est déjà assez vieux (il date de 2016) et son intégration débute — il est en même temps retravaillé au niveau de l’intégration avec SPIR-V, la représentation intermédiaire de code prévue tant pour les applications graphiques (Vulkan) que de calcul (OpenCL).