IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Intel annonce OneAPI
Une couche d'abstraction pour la programmation de CPU, GPU, FPGA et autres accélérateurs

Le , par dourouc05

123PARTAGES

12  0 
Dans le flot d'annonces qu'Intel a réalisées ces derniers jours, on compte notamment OneAPI. Il s'agit d'une nouvelle solution d'Intel pour faciliter la programmation sur différents processeurs : CPU (principal), GPU (graphique), FPGA (processeur reprogrammable) ou encore accélérateur pour l'apprentissage automatique. L'idée est d'avoir un seul code qui utilise OneAPI et de le faire fonctionner sur tout accélérateur.

OneAPI est donc une couche d'abstraction du matériel. Son objectif principal est de faciliter la programmation de matériel très divers, sans devoir entrer dans les détails de chacun : un CPU est très versatile et a peu de cœurs très rapides ; un GPU a énormément de cœurs assez lents ; un FPGA se programme à un niveau très proche de la machine, avec des portes logiques plutôt que des instructions ; un accélérateur pour l'apprentissage ne peut effectuer que quelques opérations bien spécifiques, mais très rapidement.


L'idée même de OneAPI fait rapidement penser à l'initiative HSA (heterogeneous system architecture) d'AMD, bien que centrée sur les CPU et GPU. OpenMP est une norme bien établie (une extension des langages C, C++ et Fortran) dans le monde des superordinateurs et ses dernières versions permettent de décharger l'exécution de portions de code sur un accélérateur — principalement un processeur graphique, mais aussi un FPGA, par exemple, selon les possibilités du compilateur utilisé. Un peu plus récent, OpenCL est un langage dérivé du C utilisé d'abord pour la programmation de GPU, mais aussi maintenant de FPGA (notamment avec des solutions Intel). Ce ne sont pas les seules solutions dans le domaine : on peut encore citer OpenACC, OpenHMPP, C++ AMP, par exemple.

Selon les informations actuellement disponibles, Intel pourrait rendre le code derrière OneAPI disponible sous licence libre courant 2019. Pour le moment, aucun code n'est disponible. Le côté abstrait de l'API devrait permettre des optimisations en fonction du matériel sous-jacent, mais Intel se focalise d'abord sur l'"intelligence artificielle" (sic), c'est-à-dire l'apprentissage profond.

Source : Intel Developing "oneAPI" For Optimized Code Across CPUs, GPUs, FPGAs & More.

Une erreur dans cette actualité ? Signalez-nous-la !