Intel VisiON • Les joies du code : transformez du CUDA propriétaire en Sycl ouvert avec Codeplay ! |
————— 13 Mai 2022 à 17h30 —— 11696 vues
Intel VisiON • Les joies du code : transformez du CUDA propriétaire en Sycl ouvert avec Codeplay ! |
————— 13 Mai 2022 à 17h30 —— 11696 vues
Si l’Intel VisiON était l’occasion d’approcher de très près les futures nouveautés des bleus, la conférence a également été l’occasion de redonner ses lettres de noblesse à certaines petites mains invisibles agissant en arrière-plan du mastodonte bleu. Un parfait exemple de cela se situe chez les écossais de Codeplay, déjà timidement passés au coin de rue de votre Comptoir favori.
Ici, point d’extravagantes cartes graphiques ou autres composants majeurs ; le travail est avant tout logiciel, et d’un principe simple : trouver une solution pour les partenaires actuellement équipés de cartes NVIDIA et de programmes optimisés en CUDA pour transitionner à moindre coût vers les solutions de bleus et leur framework OneAPI, basé en interne sur du SysCL — un modèle de programmation sans redevance maintenu par le groupe Khronos (également en charge de Vulkan) permettant de programmer en pur C++ des accélérateurs de manière syntaxiquement proche du CUDA, tout en lui retirant ses extensions non-standards (adieu les kernels<<<nb_grid, nb_blocks>>>
!).
En interne, le compilateur source-à-source prend en entrée le programme originel CUDA pour recracher une version SyCL équivalente, mais, surtout, proche en matière de performance. En effet, un autotuner (voyez cela comme un algorithme cherchant seul les manières de transformer le code menant à une vitesse d’exécution optimale) est employé, permettant de pallier en partie la lenteur due au comportement différent de l’exécution du SysCL face à CUDA. Avec un peu d’optimisation manuelle supplémentaire, le logiciel traduit devient quasiment (perte sèche de l’ordre de 10 %) aussi performant que la version originale CUDA… mais qui peut désormais être utilisée sur toutes les machines compatibles SyCL. Au passage, si votre machine ne l’est pas, Codeplay peut aussi vous aider, notamment en construisant une partie du pilote SyCL, par exemple à partir de primitives OpenCL ou directement en LevelZero lorsque cela est possible. Rajouter une couverture du CUDA quasi complète, Codeplay communiquant sur un bon 90 % des applications traduisibles sans effort, au doigt mouillé : que demander de plus ?
Un poil avant ?Lovelace dévoilé au Computex ? | Un peu plus tard ...ASUS confirme que la demande pour le minage s'estompe... |