Les spécifications d'OpenCL 3.0 sont officielles ! |
————— 27 Avril 2020 à 16h12 —— 14553 vues
Les spécifications d'OpenCL 3.0 sont officielles ! |
————— 27 Avril 2020 à 16h12 —— 14553 vues
SI vous souhaitez effectuer un calcul rapidement sur une puce autre que votre CPU — cas dans lequel il est question de calcul dit déporté —, une des solutions (libre) les plus répandues est OpenCL. Au début très proche de l’API CUDA de NVIDIA permettant d’exécuter du code non graphique sur les cartes graphiques — le terme utilisé est alors GPGPU —, le projet a gagné en ampleur pour dorénavant couvrir n’importe quel accélérateur, des GPU aux FPGA en passant par les accélérateurs de machine learning ou encore des ASICs spécialisés, pour peu que le vendeur ait fourni les bibliothèques compatibles.
En effet, tout comme Vulkan, OpenCL est une API, c’est-à-dire une définition du format à respecter et des fonctionnalités à fournir, mais ne fournit pas une implémentation du bousin. Pour cela, les constructeurs et partenaires doivent travailler, en collaboration avec le groupe Khronos qui chapeaute tout, à la réalisation de bibliothèques ou de pilotes compatibles... mais cela dépasse la portée de l’annonce du jour !
Si vous souhaitez croiser les API, Khronos et ses partenaires y ont pensé : ce devrait être possible
La dernière version de cette API bas niveau était, hier encore, la 2.2, mais la maison-mère a depuis dévoilée le premier jet préliminaire pour la mouture 3.0. Au menu : une rétrocompatibilité partielle avec les fonctionnalités précédentes, toutes au-delà de la 1.2 (non incluse) devenant optionnelles... mais les programmes pourront s’assurer de leur prise en charge par une simple requête, laissant ainsi la majorité du code inchangée. L’idée réside sur le constat qu’OpenCL 1.2 est le minimum requis pour les industriels, mais que les fonctionnalités introduites dans les moutures suivantes, monolithiques, sont trop peu flexibles par rapport à la demande, d’où leur découpage en optionnelles. Pour une mise à jour simple à la fois du côté des programmeurs et des intégrateurs, le but devrait être réussi. Parmi les autres changements, citons les extensions DMA asynchrones permettant aux accélérateurs le supportant d’accéder directement à la RAM sans bloquer le flot d’exécution du programme ; ainsi que la scission d’OpenCL C++, qui se nomme désormais C++ for OpenCL.
Au niveau des applications, l’API ratisse large, mais le grand public devrait surtout en profiter via l’IoT ou la domotique, car l’IA est l’application ayant le vent en poupe actuellement la plus friande d’accélérateurs dédiés. Néanmoins, cela ne risque pas de transcender l’expérience utilisateur, au vu de la couche bas niveau concernée !
Un poil avant ?GIGABYTE sort un nouveau clavier mécanique, le AORUS K1 | Un peu plus tard ...Des cartes B460 au look très manga chez MAXSUN |