Codeplay va vous chanter OpenCL sur les orchestres Vulkan |
————— 21 Juillet 2017 à 10h48 —— 11321 vues
Codeplay va vous chanter OpenCL sur les orchestres Vulkan |
————— 21 Juillet 2017 à 10h48 —— 11321 vues
On avait déjà eu écho du support prochain d'OpenCL par Vulkan deux mois auparavant. C'est un compilateur qui va dans ce sens aujourd'hui, en vous permettant de générer directement des shaders Vulkan à partir de code OpenCL C. Bien que méconnu du grand public, ce dernier permet une programmation aisée d'unités de calcul hétérogènes, par exemple en utilisant simultanément CPU et GPU. En face, Vulkan est une API bas niveau consacrée principalement aux calculs graphiques, issue de la technologie Mantle d'AMD.
C'est le chanteur une équipe de chez Codeplay qui a planchée dessus en collaboration avec Google, bien que le résultat ne soit pas un produit officiel Mountain View. Le logiciel est encore expérimental (comprenez que toutes les directives OpenCL ne sont pas prises en charge) mais libre et distribué sous licence Apache 2.0. Aux commandes, clspv (oui oui c'est le nom du compilateur, on sent l'absence de marketing !) se base sur la suite LLVM, plus connue par le nom de son front-end clang (et de son utilisation par Apple) ainsi que l'outil maison SPIR-V.
Pour binariser votre aplication, vous pouvez soit utiliser le compilo tout-beau-tout-en-un, ou mettre les mains plus profond encore dans le cambouis avec différents modules agissant sur la Représentation Intermédiaire (ou code IR). Rien à voir avec les rayons vous faisant détecter la chaleur, il s'agit plutôt d'une mixture proche de l'assembleur, vers laquelle tout programme compilé est transcrit en interne : on se doute donc que ces outils sont destinés aux développeurs. Le groupe Khronos poursuit ainsi sa volonté d'unification OpenCL/Vulkan, de quoi tenir tête à la solution propriétaire CUDA de chez NVIDIA dans un futur proche ?
Un poil avant ?Y aurait-t-il une alternative au lithium ? | Un peu plus tard ...Du 32" Full HD chez Viewsonic, mais FreeSync à 144 Hz |