Contrairement à Nvidia, ATI utilise son pilote standard pour sa couche GPU.
Le lien suivant défini les différents paquets à installer :
wget http://www2.ati.com/drivers/legacy/12-6/amd-driver-installer-12.6-legacy-x86.x86_64.zip unzip amd-driver-installer-12.6-legacy-x86.x86_64.zip
http://developer.amd.com/Downloads/OpenCL1.2-Static-Cplus-preview-drivers-Linux.tgz
Pour commencer, installation et configuration minimale :
apt-get install module-assistant # téléchargement des prototypes du noyau courant si nécessaire m-a prepare # pour les noyaux récents (par exemple comme le 2.6.32, il faut blacklister radeon echo blacklist radeon >> /etc/modprobe.d/blacklist # arret de GDM3 s'il est lancé /etc/init.d/gdm3 stop
Le redémarrage semble nécessaire pour que le pilote radeon
ne soit pas chargé.
Puis, même lancement de la désinstallation du pilote, version 32 ou 64 bits :
sh ./amd-driver-installer-12.6-legacy-x86.x86_64.run --uninstall
.
Ensuite, même lancement de l'installation du pilote, version 32 ou 64 bits :
sh ./amd-driver-installer-12.6-legacy-x86.x86_64.run --force
.
Enfin, pour avoir une configuration correcte :
aticonfig --initial
Pour le SDK, toujours aussi simple, par une simple décompression de l'archive à l'endroit idoine, soit /opt
(il est supposé que l'archive se trouve dans /root
) :
# Renommage d'un /opt/AMDAPP précédent [ -d /opt/AMDAPP ] && mv /opt/AMDAPP /opt/AMDAPP.old mkdir /tmp/AMDSDK-2.7 cd /tmp/AMDSDK-2.7 # En 32 bits, décompresser l'archive tar xzf /root/AMD-APP-SDK-v2.7-lnx32.tgz # En 64 bits, décompresser l'archive tar xzf /root/AMD-APP-SDK-v2.7-lnx64.tgz # Lancer le script d'installation ./Install-AMD-APP.sh # Etablir un lien pour pointer de manière générique les pilotes cd /opt mv AMDAPP AMDAPP-2.7 ln -s AMDAPP-2.7 AMDAPP
cd /root wget http://developer.amd.com/Downloads/clAmdBlas1.7.257.tar.gz wget http://developer.amd.com/Downloads/clAmdFft-1.4.182-Linux.tar.gz wget http://developer.amd.com/Downloads/LUDOpenCLBLAS-Linux.zip wget http://developer.amd.com/Downloads/ObjectDetection-Linux.zip
mkdir /tmp/CLAMD cd /tmp/CLAMD tar xzf /root/clAmdBlas1.7.257.tar.gz sh install-clAmdBlas1.7.257.sh # L'installation se realise par defaut dans /opt/clAmdBlas-1.7.257 tar xzf /root/clAmdFft-1.4.182-Linux.tar.gz sh install-clAmdFft-1.4.182.sh # L'installation se realise par defaut dans /opt/clAmdFft-1.4.182 cd /opt ln -s clAmdBlas-1.7.257 clAmdBlas ln -s clAmdFft-1.4.182 clAmdFft # chown -R root.root /opt/clAmdBlas /opt/clAmdFft # Pour une architecture 64 bits echo -e "/opt/clAmdBlas/lib64\n/opt/clAmdFft/lib64" > /etc/ld.so.conf.d/clAmd.conf # Pour une architecture 32 bits echo -e "/opt/clAmdBlas/lib32\n/opt/clAmdFft/lib32" >> /etc/ld.so.conf.d/clAmd.conf # ldconfig
Ensuite, la compilation des exemples : ceux de CAL ont disparus, il reste ceux d'OpenCL :
apt-get -y install libxi-dev libxmu-dev libglut3-dev cd /opt/AMDAPP/samples make
Enfin, l'exécution des exemples OpenCL :
# pour une architecture 64 bits cd /opt/AMDAPP/samples/opencl/bin/x86_64 # pour une architecture 32 bits cd /opt/AMDAPP/samples/opencl/bin/x86 # lancer tous les exemples find . -executable ! -iname "*.cl" -exec {} \;
apt-get install cmake cd /opt/clAmdBlas/samples cmake . make cd /opt/clAmdFft/samples # Ces gros nuls n'ont pas verifie leur CMake : il plante ! sed -i "s/\.\.\/\.\.\/\.\.\\//common//g" CMakeLists.txt # (le cmake pointe pour quelques sources au mauvais endroit !) cmake . make
Téléchargement des sources sur : http://mathema.tician.de/software/pyopencl
apt-get -y install libboost-thread-dev python-setuptools
cd /opt git clone http://git.tiker.net/trees/pyopencl.git cd pyopencl git submodule init git submodule update
Il est supposé que le dossier d'installation du SDK ATI se trouve dans /opt/AMDAPP
:
./configure.py --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt-py26 --cl-inc-dir=/opt/AMDAPP/include/ --cl-lib-dir=/usr/lib/OpenCL/vendors/ --boost-compiler=/usr/bin/gcc-4.4 --no-cl-enable-device-fission --no-use-shipped-boost --cl-enable-gl make make install python setup.py build python setup.py install
cd examples python benchmark-all.py