Wiki de l'usage de xHPL¶
CQQCOQP du projet¶
Importation initiale du projet¶
Récupération de HPL¶
Cette opération a été utilisée pour récupérer le code source de HPL sur le site de Netlib.
wget http://www.netlib.org/benchmark/hpl/hpl-2.0.tar.gz tar xzf hpl-2.0.tar.gz mv hpl-2.0 hpl-2.0.orig cd hpl-2.0.orig
Importation SVN du projet¶
Voici la commande utilisée pour créer l'archive subversion originelle.
svn import $(pwd)/hpl-2.0.orig/ https://forge.cbp.ens-lyon.fr/svn/hpl4all/ -m 'Importation de la version originelle'
Récupération SVN du projet¶
svn checkout http://forge.cbp.ens-lyon.fr/svn/hpl4all/
Compilation et exécution du projet sous Linux Debian :¶
- Installation des paquets Debian nécessaires
- Récupération de l'archive SVN
- Changement de dossier et définition d'un variable d'environnement
Opérations communes quel que soit le couple librairie BLAS/librairie MPI¶
# Installation des paquets Debian nécessaires sudo apt-get install gcc gfortran # Récupération de l'archive HPL svn checkout http://forge.cbp.ens-lyon.fr/svn/hpl4all/ # Passage dans le dossier de HPL cd hpl4all export HPLROOT=$PWD
Avec le couple Atlas/OpenMPI¶
- Installation des paquets Debian complémentaires
- Création de liens pour les fichiers de configuration
- Compilation
- Exécution
# Installation des paquets Debian nécessaires # Installation les paquets associes a MPI sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev # Installation des paquets associes a BLAS # Sur une architecture i386 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev libatlas-sse2-dev libatlas3gf-sse2 # Sur une architecture amd64 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev # Création des liens symboliques ln -s setup/Make.Debian_CBLAS_OpenMPI Make.Debian_CBLAS_OpenMPI ln -s setup/Make.Debian_FBLAS_OpenMPI Make.Debian_FBLAS_OpenMPI # Compilation make arch=Debian_CBLAS_OpenMPI make arch=Debian_FBLAS_OpenMPI # Exécution cd $HPLROOT/bin/Debian_CBLAS_OpenMPI orterun -np 2 ./xhpl cd $HPLROOT/bin/Debian_FBLAS_OpenMPI orterun -np 2 ./xhpl
Avec le couple Atlas/LAM¶
- Installation des paquets Debian complémentaires
- Création de liens pour les fichiers de configuration
- Compilation
- Lancement du démon MPI
- Exécution
# Installation des paquets Debian nécessaire # Installation les paquets associes a MPI sudo apt-get install lam4-dev lam-runtime # Installation des paquets associes a BLAS # Sur une architecture i386 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev libatlas-sse2-dev libatlas3gf-sse2 # Sur une architecture amd64 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev # Création des liens symboliques ln -s setup/Make.Debian_CBLAS_LAM Make.Debian_CBLAS_LAM ln -s setup/Make.Debian_FBLAS_LAM Make.Debian_FBLAS_LAM # Compilation make arch=Debian_CBLAS_LAM make arch=Debian_FBLAS_LAM # Lancement du démon de contrôle MPI lamboot # Exécution cd $HPLROOT/bin/Debian_CBLAS_LAM mpirun.lam -np 2 ./xhpl cd $HPLROOT/bin/Debian_FBLAS_LAM mpirun.lam -np 2 ./xhpl
Avec le couple Atlas/Mpich2 : disponible sur la version Squeeze de Debian¶
- Installation des paquets Debian complémentaires
- Création de liens pour les fichiers de configuration
- Compilation
- Lancement du démon MPI
- Exécution
# Installation des paquets Debian nécessaire # Installation les paquets associes a MPI sudo apt-get install mpich2 libmpich2-dev libmpich2-1.2 # Installation des paquets associes a BLAS # Sur une architecture i386 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev libatlas-sse2-dev libatlas3gf-sse2 # Sur une architecture amd64 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev # Récupération de l'archive HPL svn checkout http://forge.cbp.ens-lyon.fr/svn/hpl4all/ # Passage dans le dossier de HPL cd hpl4all export HPLROOT=$PWD # Création des liens symboliques ln -s setup/Make.Debian_CBLAS_Mpich2 Make.Debian_CBLAS_Mpich2 ln -s setup/Make.Debian_FBLAS_Mpich2 Make.Debian_FBLAS_Mpich2 # Compilation make arch=Debian_CBLAS_Mpich2 make arch=Debian_FBLAS_Mpich2 # Paramétrage du démon MPI touch $HOME/.mpd.conf chmod 600 $HOME/.mpd.conf echo -e "MPD_SECRETWORD=DescartesInutileIncertain" >> $HOME/.mpd.conf # Lancement du démon de contrôle MPI mpd & # Exécution cd $HPLROOT/bin/Debian_CBLAS_Mpich2 mpirun.mpich2 -np 2 ./xhpl cd $HPLROOT/bin/Debian_FBLAS_Mpich2 mpirun.mpich2 -np 2 ./xhpl
Avec le couple Atlas/Mpich : disponible sur la version Lenny de Debian¶
- Installation des paquets Debian complémentaires
- Création de liens pour les fichiers de configuration
- Compilation
- Lancement du démon MPI
- Exécution
/!\ Partie en construction /!\
# Installation des paquets Debian nécessaire # Installation les paquets associes a MPI sudo apt-get install libmpich-mpd1.0gf libmpich1.0-dev mpich-mpd-bin # Installation des paquets associes a BLAS # Sur une architecture i386 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev libatlas-sse2-dev libatlas3gf-sse2 # Sur une architecture amd64 sudo apt-get install libatlas-test libatlas3gf-base libatlas-headers libatlas-base-dev # Création des liens symboliques ln -s setup/Make.Debian_CBLAS_Mpich2 Make.Debian_CBLAS_Mpich2 ln -s setup/Make.Debian_FBLAS_Mpich2 Make.Debian_FBLAS_Mpich2 # Compilation make arch=Debian_CBLAS_Mpich make arch=Debian_FBLAS_Mpich # Paramétrage du démon MPI touch $HOME/.mpd.conf chmod 600 $HOME/.mpd.conf echo -e "secretword=DescartesInutileIncertain" > $HOME/.mpd.conf # Lancement du démon de contrôle MPI mpd & # Exécution cd $HPLROOT/bin/Debian_CBLAS_Mpich mpirun.mpich-mpd -np 2 ./xhpl cd $HPLROOT/bin/Debian_FBLAS_Mpich mpirun.mpich-mpd -np 2 ./xhpl