Les développeurs d’AMD, en collaboration avec Microsoft, ont publié C++ AMP version 1.2, un compilateur open source qui est disponible à la fois pour Linux, Windows et pourra être étendu à OS X ou tout autre plateforme.
L’outil qui s’appuie sur Clang et LLVM accélère la productivité pour les développeurs qui souhaitent exploiter toute la puissance des plateformes hétérogènes modernes (serveurs, PC et terminaux mobiles).
Pour rappel, C++ AMP est une technologie conçue par Microsoft pour aider les développeurs C++ dans la conception d'applications parallèles utilisant le GPU. C++ AMP s’appuie sur les bibliothèques de programmation d'applications multimédia DirectX et facilite le développement en exploitant la puissance du matériel massivement parallèle (GPU et APU).
C++ AMP permet donc de combler les attentes des développeurs qui ont de plus en plus besoin de tirer parti de la puissance des GPU dans leurs applications. La technologie a été développée tout d’abord pour Visual Studio. Cependant, Microsoft avait, par la suite, publié la spécification sous une licence Open Specification Promise (OPS) pour permettre à d’autres éditeurs de compilateur C++ de pouvoir l’utiliser.
C++ AMP version 1.2, exploite la version 1.2 de la spécification open source de C++ AMP. Cette version apporte :
- une mémoire virtuelle partagée (SVM), permettant de partager littéralement des structures de données entre l’hôte et l’accélérateur ;
- la prise en charge de « C++11 atomics » et de « memory ordering ». Couplé avec SVM, cela ouvre la voie à la construction des primitives de synchronisation efficaces qui fonctionnent sur l’hôte et l’accélérateur ;
- l’allocation dynamique de la mémoire.
Les développeurs peuvent télécharger l’outil sur bitbucket. Microsoft et AMD espèrent que les idées derrière C++ AMP pourront être adoptées dans le langage C++.
Télécharger C++ AMP
Source : Blog Visual C++
Et vous ?
Avez-vous déjà utilisé C++ AMP ? Qu’en pensez-vous ?