- Qu'est-ce que l'intelligence artificielle ?
- Mythe ou réalité de l'intelligence des réseaux de neurones ?
- Protection de l'accès aux informations
- La vie dans le nuage
- Cloud computing
- Anonymizer comme moyen de protection de la monnaie électronique
- Création d'un blog d'entreprise
- Virus sur les sites Web
- Des étendues infinies d'Internet. E-mail.
- Présentation d'OpenCL
- Sécurité de l'information d'une petite organisation
- Systèmes de visioconférence
Kretov Nikolaï Nikolaïevitch : Introduction à OpenCL
Le développement est dirigé par le célèbre groupe Khronos. Celui qui promeut OpenGl et OpenAL. De plus, OpenGL et OpenCL proviennent essentiellement de la même infrastructure logicielle et peuvent interagir très étroitement.
L'essence de l'idée est que nous ne nous soucions absolument pas - du processeur devant nous ou de la carte vidéo. Nous faisons abstraction de la plate-forme en tant que telle et considérons que nous avons N appareils informatiques. OpenCL en tant que norme décrit les règles de calcul sur ces appareils. Ainsi, nous obtenons un code unique qui sera absolument portable sur n'importe quelle plate-forme. AMD ou Intel, vous avez un processeur, une carte vidéo nVidia ou ATI, ou un serveur lame avec des cœurs cellulaires - cela n'a pas d'importance du tout. L'application fonctionnera partout où les appareils prennent en charge la norme OpenCL.
Il convient de noter que nous parlons de calcul parallèle sur les instructions SIMD.
OpenCL est une extension du langage C. Nous avons une application hôte et une application OpenCL. L'hôte prépare un ensemble de périphériques disponibles à utiliser et transmet la tâche à la partie OpenCL pour exécution. Après cela, OpenCL remplit et renvoie le résultat à l'hôte.
Le code OpenCL est stocké dans des fichiers *.cl et compilé au moment de l'exécution pour une architecture donnée. Cela garantit la portabilité de l'application.
Apple est allé encore plus loin en publiant la prise en charge au niveau du noyau d'OpenCL dans son système d'exploitation Snow Leopard, réalisant des gains de performances significatifs.
A quoi sert-il ?
OpenCL mange bien les algorithmes SIMD. C'est pour cela qu'il a été créé. Et il s'agit de diverses cryptographies, divers effets de post-traitement, traitement du son et divers modèles mathématiques, encodage vidéo.
Pour les développeurs
Pour le moment, des versions de nVidia OpenCL SDK, AMD OpenCL SDK sont disponibles. Vous pouvez toujours les télécharger à partir des sites Web officiels de ces sociétés.
Dans de prochains articles, je vous dirai comment utiliser cette technologie en pratique dans vos propres applications.