Ci-dessous, les différences entre deux révisions de la page.
developpement:activites:integration:magma4wheezy [2013/07/10 16:30] equemene [Compilation] |
developpement:activites:integration:magma4wheezy [2015/01/07 10:04] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | * [[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 ==== | ||
- | |||
- | <code>apt-get -y install libatlas3-base libatlas-base-dev libatlas-dev libcublas*</code> | ||
- | |||
- | ==== Définition des variables d'environnement ==== | ||
- | |||
- | <code> | ||
- | # Declaration des variables | ||
- | export ATLASDIR=/usr/lib/atlas-base/atlas | ||
- | export LAPACKDIR=/usr/lib/atlas-base/atlas | ||
- | </code> | ||
- | |||
- | Pour les librairies CUDA, c'est un peu plus compliqué : les paquets Debian Experimental | ||
- | |||
- | <code> | ||
- | ln -s /usr/share/doc/nvidia-cuda-doc/examples /usr/lib/nvidia-cuda-toolkit/src | ||
- | export CUDADIR=/usr/lib/nvidia-cuda-toolkit | ||
- | </code> | ||
- | ==== 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 | ||
- | <code> | ||
- | mount -t proc none /proc | ||
- | </code> | ||
- | |||
- | |||
- | ==== Récupération des sources ==== | ||
- | |||
- | <code>cd /root | ||
- | wget http://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-1.4.0-beta2.tar.gz</code> | ||
- | |||
- | ==== Expansion de l'archive ==== | ||
- | |||
- | <code> | ||
- | cd /opt | ||
- | tar xzf /root/magma-1.4.0-beta2.tar.gz | ||
- | cd /opt/magma-1.4.0-beta2 | ||
- | </code> | ||
- | |||
- | ==== Modification du Makefile ==== | ||
- | |||
- | <code> | ||
- | 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/NVOPTS\ \ \ \ \=\ \-fPIC/NVOPTS\ \ \ \ \=\ /g" make.inc | ||
- | </code> | ||
- | |||
- | |||
- | ==== Compilation ==== | ||
- | |||
- | Ce plus, de manière à pouvoir exécuter ces codes sur toutes les architectures, les ''mtune=native'' ont été remplacés. | ||
- | |||
- | <code> | ||
- | make | ||
- | make shared | ||
- | </code> | ||
- | |||
- | ==== Installation ==== | ||
- | |||
- | <code> | ||
- | cd /opt | ||
- | ln -s magma-1.4.0-beta2 magma | ||
- | </code> | ||
- | |||
- | ==== Exécution des tests ==== | ||
- | |||
- | <code> | ||
- | cd tests | ||
- | make tests_min | ||
- | </code> | ||
- | |||
- | --- //[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2013/07/03 11:32// |