Translation(s): English - Français - Italiano


ATI Stream est la bibliothèque OpenCL pour les cartes graphiques AMD/ATI. Il est "vendu" maintenant comme APP (accelerated parallel processing - traitement accéléré parallèle) 1. Il utilise le processeur graphique (GPU) de la carte graphique pour exécuter des calculs hautement parallèles. Le code de OpenCL qui s'occupe de ce matériel est toutefois fonctionnel même sans le matériel adapté et le développement est aussi possible, par exemple, sur un portable pas très récent avec une carte graphique Intel.

Installation

Le SDK (Software Development Kit) AMD est non-libre. Les binaires amd64 et i386 sont fournis directement par upstream et peuvent être installés facilement même si c'est fastidieux. Les bibliothèques pour l'exécution des binaires OpenCL sont maintenant (c'est-à-dire depuis la version 11.11 de Catalyst / fglrx) également distribuées avec les pilotes propriétaires normaux des cartes graphiques. Debian offre tous les pilotes d'AMD à sa manière habituelles sous la forme d'une série de paquets séparés pour sa technologie. La bibliothèque APP/Stream est livrée par le paquet amd-libopencl1. Donc, pour récupérer OpenCL sur votre ordinateur, vous n'avez qu'à exécuter la commande suivante :

sudo apt-get install amd-libopencl1

Pour profiter de l'accélération complète, vous avez juste besoin d'installer aussi le pilote graphique non-libre d'AMD, fglrx, comme c'est expliqué dans la page fr/ATIProprietary de ce Wiki.

Pour les versions précédentes de fglrx, une bonne âme nommée 'nou' avait préparé des paquets Debian externes nommés amd-app pour fournir les bibliothèques AMD Stream et leur API 2 . Cela avait l'avantage d'installer à la fois les bibliothèques 32 et 64 bits, tandis que amd-libopencl1 de Debian ne fournit que la libraire de l'une ou l'autre architecture. Cet avantage disparaît maintenant avec l'adoption de la technologie multi-arch pour le paquet dpkg de la section experimental. Aussi, pour exécuter les bibliothèques 32 bits OpenCL sur une machine 64 bits, saisissez la commande :

sudo apt-get install multiarch-support fglrx-glx-ia32
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install amd-libopencl1:i386

On peut trouver dans le wiki officieux des pilotes Linux AMD 3 quelques astuces qui font gagner du temps.

Développement

Quand vous développiez vos applications OpenCL, les anciens paquets externes amd-app 4 avaient leurs propres paquets -dev qui ne sont plus nécessaires avec les paquets Debian. Maintenant, on peut partager le paquet opencl-headers avec les bibliothèques mentionnées plus haut ; aucun -dev séparé n'est nécessaire, parce qu'après tout c'est un standard.

Contribution à BOINC

Quand vous exécutez BOINC (ou n'importe quel binaire externe) avec votre machine magnifique, et si vous le faites seulement pour tester les configurations, sachez que, par exemple, le projet Primegrid vous donne un vrai binaire OpenCL 64 bits. Albert est 32 bits et par conséquent, il échouera sur un amd64 avec la bibliothèque 64 bits de Debian avec le message d'erreur "file not found". Vous pouvez tester la plateforme en exécutant ldd /var/lib/boinc/project/projectname/binary name, elle devrait trouver le binaire OpenCL.

Références