Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
developpement:activites:integration:abinit4wheezy [2013/11/07 14:23] equemene [Sur une machine 64 bits avec GPU Nvidia et la librairie MAGMA] |
developpement:activites:integration:abinit4wheezy [2014/05/07 13:38] equemene [Sur une machine 64 bits] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
* [[developpement:activites:integration:|Intégration]] | * [[developpement:activites:integration:|Intégration]] | ||
- | <note important>Modification le 25 octobre 2013 : passage en 7.4.3</note> | + | <note important>Modification le 6 main 7.6.4 : passage en 7.6.4</note> |
====== Intégration de ABInit sur Debian Wheezy ====== | ====== Intégration de ABInit sur Debian Wheezy ====== | ||
- | + | La version disponible dans Wheezy, et même dans Sid, est très ancienne (5.3.4 pour une version courante 7.6.4 au 6 mai 2014). | |
- | La version disponible dans Wheezy, et même dans Sid, est très ancienne (5.3.4 pour une version courante 7.4.3 au 25 octobre 2013). | + | |
===== Installation des prérequis ===== | ===== Installation des prérequis ===== | ||
Ligne 15: | Ligne 14: | ||
<code>cd /root | <code>cd /root | ||
- | wget http://ftp.abinit.org/abinit-7.4.3.tar.gz</code> | + | wget http://ftp.abinit.org/abinit-7.6.4.tar.gz</code> |
===== Expansion de l'archive ===== | ===== Expansion de l'archive ===== | ||
Ligne 21: | Ligne 20: | ||
<code> | <code> | ||
cd /root | cd /root | ||
- | tar xzf /root/abinit-7.4.3.tar.gz | + | tar xzf /root/abinit-7.6.4.tar.gz |
- | cd /root/abinit-7.4.3 | + | cd /root/abinit-7.6.4 |
</code> | </code> | ||
Ce plus, de manière à pouvoir exécuter ces codes sur toutes les architectures, les ''mtune=native'' ont été remplacés. | Ce plus, de manière à pouvoir exécuter ces codes sur toutes les architectures, les ''mtune=native'' ont été remplacés. | ||
- | ===== Sur une machine 64 bits ===== | + | ===== Compilation & Installation ===== |
- | ==== Compilation ==== | + | |
+ | ==== Sur une machine 64 bits ==== | ||
+ | |||
+ | === Compilation === | ||
<code> | <code> | ||
- | OMPI_CC=/usr/bin/gcc-4.7 OMPI_CXX=/usr/bin/g++-4.7 OMPI_FC=/usr/bin/gfortran-4.7 CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.4.3 --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --enable-64bit-flags --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/x86_64-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor=custom --with-linalg-incs="-I/usr/include/atlas" --with-linalg-libs="-L/usr/lib/atlas-base/atlas -llapack -lblas" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" | + | OMPI_CC=/usr/bin/gcc-4.7 OMPI_CXX=/usr/bin/g++-4.7 OMPI_FC=/usr/bin/gfortran-4.7 CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.6.4 --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --enable-64bit-flags --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/x86_64-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads -lfftw3" --enable-bigdft --enable-exports --enable-fallbacks --with-linalg-flavor=custom --with-linalg-incs="-I/usr/include/atlas" --with-linalg-libs="-L/usr/lib/atlas-base/atlas -llapack -lblas" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" |
- | time make mj8 | + | time make mj4 |
</code> | </code> | ||
- | ==== Installation ==== | + | === Installation === |
<code> | <code> | ||
Ligne 44: | Ligne 46: | ||
cd /opt | cd /opt | ||
[ -d abinit ] && rm abinit | [ -d abinit ] && rm abinit | ||
- | ln -s abinit-7.4.3 abinit | + | ln -s abinit-7.6.4 abinit |
- | cd $TEMP | + | |
</code> | </code> | ||
- | ===== Sur une machine 64 bits avec GPU Nvidia ===== | + | === Compilation & Installation des FallBacks === |
+ | |||
+ | Les composants **linalg** et **bigdft** font péter la compilation. Ils sont donc exclus de la compulation. | ||
+ | |||
+ | <code> | ||
+ | cd $TEMP/fallbacks | ||
+ | |||
+ | CC=/usr/bin/gcc-4.7 CXX=/usr/bin/g++-4.7 FC=/usr/bin/gfortran-4.7 CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" ./configure --prefix=/opt/abinit-7.6.4 --enable-linalg=no --enable-bigdft=no | ||
+ | |||
+ | make | ||
+ | make install | ||
+ | </code> | ||
+ | ==== Sur machine 64 bits avec GPU Nvidia ==== | ||
- | ==== Préparation (pas propre...) ==== | + | === Préparation (pas propre...) === |
Normalement, le ''configure'' permet de spécifier les localisations des différents composants, mais cela ne semble pas fonctionner. Autant recréer un dosser ''/tmp/cuda'' contenant l'arborescence vers tous les composants CUDA :<code> | Normalement, le ''configure'' permet de spécifier les localisations des différents composants, mais cela ne semble pas fonctionner. Autant recréer un dosser ''/tmp/cuda'' contenant l'arborescence vers tous les composants CUDA :<code> | ||
Ligne 60: | Ligne 72: | ||
</code> | </code> | ||
- | ==== Compilation ==== | + | === Compilation === |
<code> | <code> | ||
make distclean | make distclean | ||
- | OMPI_CC=/usr/bin/gcc OMPI_CXX=/usr/bin/g++ OMPI_FC=/usr/bin/gfortran CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.4.3-cuda --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --enable-64bit-flags --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/x86_64-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor=custom --with-linalg-incs="-I/usr/include/atlas" --with-linalg-libs="-L/usr/lib/atlas-base/atlas -llapack -lblas" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" --enable-gpu --with-gpu-prefix="/tmp/cuda" | + | OMPI_CC=/usr/bin/gcc OMPI_CXX=/usr/bin/g++ OMPI_FC=/usr/bin/gfortran CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.6.4-cuda --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --enable-64bit-flags --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/x86_64-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor=custom --with-linalg-incs="-I/usr/include/atlas" --with-linalg-libs="-L/usr/lib/atlas-base/atlas -llapack -lblas" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" --enable-gpu --with-gpu-prefix="/tmp/cuda" |
+ | make mj4 | ||
</code> | </code> | ||
- | ==== Installation ==== | + | === Installation === |
<code> | <code> | ||
Ligne 76: | Ligne 89: | ||
</code> | </code> | ||
- | ===== Machine 64 bits, GPU Nvidia, librairie MAGMA ===== | + | ==== Sur machine 64 bits, GPU Nvidia, librairie MAGMA ==== |
Par défaut, la librairie Magma est installée dans ''/opt/magma/lib'' et directement visible par le système : ''/etc/ld.so.conf.d/magma.conf'' avec ce chemin. | Par défaut, la librairie Magma est installée dans ''/opt/magma/lib'' et directement visible par le système : ''/etc/ld.so.conf.d/magma.conf'' avec ce chemin. | ||
Ligne 82: | Ligne 95: | ||
Pour l'installation de Magma sous Debian Wheezy, le CBP propose cette [[developpement:activites:integration:magma4wheezy|documentation]]. | Pour l'installation de Magma sous Debian Wheezy, le CBP propose cette [[developpement:activites:integration:magma4wheezy|documentation]]. | ||
- | ==== Compilation ==== | + | === Compilation === |
<code> | <code> | ||
make distclean | make distclean | ||
- | OMPI_CC=/usr/bin/gcc OMPI_CXX=/usr/bin/g++ OMPI_FC=/usr/bin/gfortran CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.4.3-magma --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --enable-64bit-flags --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/x86_64-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor="custom+magma" --with-linalg-incs="-I/opt/magma/include" --with-linalg-libs="-L/opt/magma/lib -lmagma" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" --enable-gpu --with-gpu-prefix="/tmp/cuda" | + | OMPI_CC=/usr/bin/gcc OMPI_CXX=/usr/bin/g++ OMPI_FC=/usr/bin/gfortran CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.6.4-magma --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --enable-64bit-flags --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/x86_64-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor="custom+magma" --with-linalg-incs="-I/opt/magma/include" --with-linalg-libs="-L/opt/magma/lib -lmagma" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" --enable-gpu --with-gpu-prefix="/tmp/cuda" |
+ | make mj4 | ||
</code> | </code> | ||
- | ===== Sur une machine 32 bits ===== | + | ==== Sur une machine 32 bits ==== |
- | ==== Compilation ==== | + | === Compilation === |
<code> | <code> | ||
- | OMPI_CC=/usr/bin/gcc-4.7 OMPI_CXX=/usr/bin/g++-4.7 OMPI_FC=/usr/bin/gfortran-4.7 CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.4.3 --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/i386-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor=custom --with-linalg-incs="-I/usr/include/atlas" --with-linalg-libs="-L/usr/lib/atlas-base/atlas -llapack -lblas" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" | + | OMPI_CC=/usr/bin/gcc-4.7 OMPI_CXX=/usr/bin/g++-4.7 OMPI_FC=/usr/bin/gfortran-4.7 CFLAGS="-mtune=generic -O3 -mssse3" FCFLAGS="-mtune=generic -O3 -mssse3 -ffree-form -ffree-line-length-none" CXXFLAGS="-mtune=generic -O3 -mssse3" FC_LDFLAGS_EXTRA="-fopenmp" CC=mpicc.openmpi CXX=mpic++.openmpi FC=mpif90.openmpi ./configure --prefix=/opt/abinit-7.6.4 --enable-openmp --enable-mpi --enable-mpi-io --enable-mpi-trace --with-fft-flavor=fftw3-mpi --with-fft-libs="-L/usr/lib/i386-linux-gnu -lfftw3f -lfftw3_mpi -lfftw3f_threads -lfftw3_threads" --enable-bigdft --with-linalg-flavor=custom --with-linalg-incs="-I/usr/include/atlas" --with-linalg-libs="-L/usr/lib/atlas-base/atlas -llapack -lblas" --with-etsf-io-incs="-I/usr/include" --with-fft-incs="-I/usr/include" --enable-netcdf --with-netcdf-incs="-I/usr/include" --with-netcdf-libs="-L/usr/lib" |
time make mj4 | time make mj4 | ||
</code> | </code> | ||
- | ==== Installation ==== | + | === Installation === |
<code> | <code> | ||
Ligne 105: | Ligne 119: | ||
cd /opt | cd /opt | ||
[ -d abinit ] && rm abinit | [ -d abinit ] && rm abinit | ||
- | ln -s abinit-7.4.3 abinit | + | ln -s abinit-7.6.4 abinit |
cd $TEMP | cd $TEMP | ||
</code> | </code> | ||
Ligne 113: | Ligne 127: | ||
<code> | <code> | ||
cd tests | cd tests | ||
- | make tests_min | + | make tests_bench |
</code> | </code> | ||
- | --- //[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2013/11/07 14:18// | + | --- //[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2014/05/06 10:32// |