* [[developpement:activites:integration:|Intégration]] ====== Intégration de MAGMA sur Debian Wheezy ====== La librairie [[http://icl.cs.utk.edu/magma/software/index.html|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. ===== Compilation de l'application ===== ==== Installation des prérequis ==== apt-get -y install libatlas3-base libatlas-base-dev libatlas-dev apt-get -y install libcublas* ==== Définition des variables d'environnement ==== # 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 ==== Prérequis pour une compilation SIDUS ==== Dans un environnement [[developpement:productions:sidus|SIDUS]] (en ''chroot'' sur un dossier particulier), il est nécessaire de monter le ''/proc'' pour compiler la librairie mount -t proc none /proc ==== Récupération des sources ==== cd /root wget http://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-1.4.1.tar.gz ==== Expansion de l'archive ==== cd /opt tar xzf /root/magma-1.4.1.tar.gz cd /opt/magma-1.4.1 ==== Modification du Makefile ==== 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 ==== Compilation ==== make make shared ==== Installation ==== 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 ==== Démontage du /proc pour le SIDUS ==== umount /proc ==== Exécution des tests ==== 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@ens-lyon.fr|Emmanuel Quemener]] 2014/01/16 10:26//