Le Khronos Group annonce la finalisation de la spécification OpenCL 2.0, moins de quatre mois après sa présentation. OpenCL permet d’aiguiller les tâches d’une application vers le composant le plus adapté à son exécution : le processeur central, un processeur de signal numérique, la carte graphique… Conçu par Apple, qui en a fait un standard ouvert et libre de droits géré par un consortium à but non-lucratif, OpenCL est notamment utilisé pour tirer parti de la puissance de calcul des cartes graphiques dans des opérations non-graphiques (accélération graphique ou GPGPU)
OpenCL 2.0 prend en charge la mémoire virtuelle partagée, l’espace d’adressage générique et surtout le parallélisme dynamique — une fonction qui permet de limiter les « allers-retours » entre la carte graphique et le processeur et accélère donc les opérations. Autrement dit et de manière plus générale, cette nouvelle spécification simplifie le développement d’applications parallélisées et tire mieux partie des différents composants à sa disposition.
Cette annonce intervient une semaine après la présentation de Cuda 6, qui intègre des nouveautés très similaires pour atteindre des objectifs semblables. Développé par Nvidia, Cuda est très optimisé pour le GPGPU et donc un peu moins généraliste qu’OpenCL, auquel il ne s’oppose donc pas frontalement. Nvidia contribue d’ailleurs à la spécification OpenCL, au même tire qu’AMD, Intel, ARM, Qualcomm et bien entendu Apple.
Source : Via Phoronix