Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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/06/11 17:58]
equemene
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 mai 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.--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.--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 43: Ligne 45:
 TEMP=$PWD TEMP=$PWD
 cd /opt cd /opt
-[ -d abinit ] && rm abinit +[ -d abinit ] && rm -f 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 en sont donc exclus sans ménagement ! 
 +<​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 
 +rsync -a $TEMP/​fallbacks/​exports/​ /​opt/​abinit-7.6.4/​ 
 +</​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.--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.--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.abinit+ln -s abinit-7.6.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//
developpement/activites/integration/abinit4wheezy.txt · Dernière modification: 2015/01/07 10:04 (modification externe)