La librairie MAGMA permet l'exploitation de cartes accélératrices (GPU à base de Nvidia Cuda, Xeon Phi et AMD/ATI) pour réaliser les opérations essentielles proposées dans les librairies Lapack.
Aucune version n'est pour l'instant disponible dans la Debian Wheezy, aucune non plus dans la Sid et dans les archives expérimentales. Aucun ITP non plus n'a été déposé pour cette librairie.
apt-get -y install libatlas3-base libatlas-base-dev libatlas-dev
apt-get -y install libcublas*
# Declaration des variables export ATLASDIR=/usr/lib/atlas-base export LAPACKDIR=/usr/lib/atlas-base/atlas
Pour les librairies CUDA, c'est un peu plus compliqué : les paquets Debian Experimental
ln -s /usr/share/doc/nvidia-cuda-doc/examples /usr/lib/nvidia-cuda-toolkit/src export CUDADIR=/usr/lib/nvidia-cuda-toolkit
Dans un environnement SIDUS (en chroot
sur un dossier particulier), il est nécessaire de monter le /proc
pour compiler la librairie
mount -t proc none /proc
cd /root wget http://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-1.4.1.tar.gz
cd /opt tar xzf /root/magma-1.4.1.tar.gz cd /opt/magma-1.4.1
cp make.inc.atlas make.inc sed -i "s/\ \-lifcore//g" make.inc sed -i "s/\-O3/\-fPIC \-O3/g" make.inc sed -i "s/\-fopenmp/\-fPIC \-fopenmp/g" make.inc sed -i "s/NVOPTS\ \ \ \ \=\ \-fPIC/NVOPTS\ \ \ \ \=\ /g" make.inc sed -i "s/\-fno-strict-aliasing/-fPIC/g" make.inc sed -i "s/\-L\$(ATLASDIR)\/lib/\-L\$(ATLASDIR)/g" make.inc
make make shared
cd /opt [ -h /opt/magma ] && rm /opt/magma ln -s magma-1.4.1 magma echo /opt/magma/lib >> /etc/ld.so.conf.d/magma.conf ldconfig
umount /proc
Compilation des tests
cd /opt/magma/testing make
Exécution des tests
cd /opt/magma/testing find . -name "testing*" -executable -print | sort | while read PRG; do $PRG; done
— Emmanuel Quemener 2014/01/16 10:26