OpenCL: Installation de l'environnement de developpement
Introduction
OpenCL c'est quoi?
OpenCL est une API et un langage de programmation pour tirer parti de la puissance de calcul parallèle des CPU et GPU. OpenCL est standard ouvert proposé par le Kronos Group.
Pourquoi choisir OpenCL?
- API ouverte
- permet d'utiliser le GPU, mais aussi le CPU, cela est intéressant pour les CPU comme le Cell d'IBM qui est présent dans la PS3.
- Multiplateforme (logiciel et matériel)
- Le code parallèle s'écrit en C
Sous Mac OS X:
L'utilisation d'OpenCL sous Mac OS X nécessite :
- Mac OS X Snow Léopard (10.6)
- XCode 3.2
Sous Linux:
L'utilisation d'OpenCL sous Linux nécessite (au choix) :
- Une carte NVidia Cuda avec les drivers 190.29 (Attention 190.53 ne contient pas opencl) : http://developer.nvidia.com/object/opencl-download.html Note : la dernier version supportant OpenCL est la 195.36.15
- Une carte ATI 4xxx ou 5xxx et le ATI STREAM SDK 2.0 : http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx
- Un CPU x86 avec SSE3 (la plus part des CPU Intel et AMD) et le ATI STREAM SDK 2.0 : http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx
Installation de l'environnement OpenCL
Téléchargez le SDK Cuda chez NVIDIA: http://www.nvidia.com/object/cuda_get.html
sh cudasdk_2.3_linux.run
Téléchargez le SDK OpenCL chez NVIDIA: http://developer.nvidia.com/object/opencl-download.html
sh gpucomputingsdk_2.3a_linux.run
Si vous utilisez gcc 4.4, il faut modifier 2 fichiers source du sdk: http://www.piotrkrzyzek.com/nvidia-cuda-sdk-gcc-4-4-problems-solved-in-k... Pour avoir des explications sur l'installation manuel des driver propriétaire Nvidia sous Ubuntu: http://doc.ubuntu-fr.org/nvidia.run
Installation de l'environnement de développement C/C++/Python
Pour l'installation de l'environnement de développement, j'ai souhaité séparer les différents environnement C, C++ et Python.
Bibliographie:
- OpenCl Spécification Overview (Kronos Group) : http://www.khronos.org/developers/library/overview/opencl_overview.pdf
- OpenCL 1.0 Reference Pages (Kronos Group) : http://www.khronos.org/opencl/sdk/1.0/docs/man/xhtml/
Posted Jeu 31 décembre 2009 by Stéphane Planquart in programmation graphique