Intel Shevlin Park - Implémentation C++ AMP sur OpenCL
C’est une nouvelle toute chaude, Intel vient de réaliser un Proof of Concept (POC) en utilisant l’API C++ AMP au-dessus d’OpenCL. Actuellement, Intel n'a pas fait d’annonce sur une sortie potentielle d’un produit reposant sur la technologie Shevlin Park. L’annonce de ce POC a été faite dans le cadre d’une réunion de développeurs LLVM où Dillon Sharlet, d'Intel, a présenté ces travaux le 8 novembre dernier. La présentation d’Intel sur l’implémentation C++ AMP au-dessus d’OpenCL sur du matériel Intel est disponible ici.
C’est naturellement une très belle annonce pour Microsoft et ce pour plusieurs raisons. Comme je l’évoquais dans ce billet, C++ AMP est une spécification ouverte indépendante de l’implémentation sous-jacente (DirectX pour l’implémentation Microsoft). Ce projet illustre que cette spécification permet d’implémenter C++ AMP sur OpenCL. Ce projet illustre aussi que l’API C++ AMP offre une simplicité programmatique bien meilleure que sa technologie sous-jacente. Et enfin, ce projet ouvre la voie d’une portabilité sur des environnements non Microsoft, bien que tous les exemples du projet tournent actuellement sous Windows.
Vous noterez sur la vignette 26 des performances meilleures pour l’implémentation C++ AMP au-dessus d’OpenCL sur le processeur Intel Ivy Bridge, car il profite de la proximité de la carte graphique intégrée d’Intel qui permet d’éviter de copier la mémoire entre CPU et GPU dans le cadre de la mémoire partagée. Ce raccourci n’est pas actuellement disponible avec l’implémentation DirectX de Microsoft.
L’écosystème GPGU est en pleine évolution et cette nouvelle en est une parfaite illustration.
À bientôt
Bruno