La publication définitive de la spécification SYCL 1.2 par le Khronos Group va permettre aux développeurs de systèmes embarqués qui utilisent le langage de programmation C++ d’exploiter le langage OpenCL, dédié à la programmation ...parallèle des architectures multiprocesseurs hétérogènes. Et ce via un framework écrit justement en C++. L’objectif étant ici de faciliter l’utilisation de l’OpenCL, langage basé sur un C classique, aux développeurs rompus aux arcanes du C++.
SYCL pour OpenCL autorise ainsi l'écriture de code pour des processeurs hétérogènes à partir d’une seule source utilisant le C++ standard. Cette approche permet notamment aux codes "hôte" et "noyau" d'être contenus dans un même fichier source et d'utiliser les mêmes modèles, tout en bénéficiant des performances d’accélération propres à l’OpenCL. Les développeurs peuvent ainsi programmer à un niveau plus élevé que l’OpenCL classique basé sur le code C mais en ayant toujours accès aux bibliothèques existantes écrites en C/C++ et aux frameworks tels que l’OpenMP (Open Multi-Processing), une interface de programmation pour le calcul parallèle sur architecture à mémoire partagée.
Des sociétés comme AMD, Imagination ou Qualcomm ont d’ores et déjà confirmé leur soutien à cette technologie. La spécification SYCL 1.2 complète est disponible en libre accès avec des détails sur les programmes de conformité et de test mis au point par un groupe d’utilisateurs avancés sur le site du consortium Khronos Group (www.khronos.org/opencl/sycl).