Différences

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

Lien vers cette vue comparative

developpement:activites:integration:abinit4wheezy [2014/01/13 16:51]
equemene [Sur machine 64 bits avec GPU Nvidia]
developpement:activites:integration:abinit4wheezy [2015/01/07 10:04]
Ligne 1: Ligne 1:
-  * [[developpement:​activites:​integration:​|Intégration]] 
  
-<note important>​Modification le 25 octobre 2013 : passage en 7.4.3</​note>​ 
- 
-====== 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.4.3 au 25 octobre 2013). 
- 
-===== Installation des prérequis ===== 
- 
-<​code>​apt-get -y install libopenmpi-dev libnetcdff5 libnetcdf-dev openmpi-bin openmpi-common libhdf5-openmpi-dev libgsl0-dev libfftw3-dev openjdk-6-jdk python-numpy python-numpy-doc etsf-io gcc-4.7 g++-4.7 gfortran-4.7 libfftw3-mpi3 libfftw3-mpi-dev gcc gfortran g++</​code>​ 
- 
-===== Récupération des sources ===== 
- 
-<​code>​cd /root 
-wget http://​ftp.abinit.org/​abinit-7.4.3.tar.gz</​code>​ 
- 
-===== Expansion de l'​archive ===== 
- 
-<​code>​ 
-cd /root 
-tar xzf /​root/​abinit-7.4.3.tar.gz ​ 
-cd /​root/​abinit-7.4.3 
-</​code>​ 
- 
-Ce plus, de manière à pouvoir exécuter ces codes sur toutes les architectures,​ les ''​mtune=native''​ ont été remplacés. 
- 
-===== Compilation & Installation ===== 
- 
- 
-==== Sur une machine 64 bits ==== 
- 
-=== Compilation === 
- 
-<​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"​ 
- 
-time make mj8 
-</​code>​ 
- 
-=== Installation === 
- 
-<​code>​ 
-make install 
-TEMP=$PWD 
-cd /opt 
-[ -d abinit ] && rm abinit 
-ln -s abinit-7.4.3 abinit 
-cd $TEMP 
- 
-</​code>​ 
- 
-==== Sur machine 64 bits avec GPU Nvidia ==== 
- 
-=== 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>​ 
-mkdir /tmp/cuda 
-ln -s /​usr/​lib/​x86_64-linux-gnu /​tmp/​cuda/​lib64 
-ln -s /​usr/​include/​ /​tmp/​cuda/​include 
-ln -s /usr/bin /​tmp/​cuda/​bin 
-</​code>​ 
- 
-=== Compilation === 
- 
-<​code>​ 
-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"​ 
-make mj4 
-</​code>​ 
- 
-=== Installation === 
- 
-<​code>​ 
-make install 
-TEMP=$PWD 
-cd /opt 
-cd $TEMP 
-</​code>​ 
- 
-==== 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. 
- 
-Pour l'​installation de Magma sous Debian Wheezy, le CBP propose cette  [[developpement:​activites:​integration:​magma4wheezy|documentation]]. 
- 
-=== Compilation === 
- 
-<​code>​ 
-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"​ 
-</​code>​ 
- 
-==== Sur une machine 32 bits ==== 
- 
-=== Compilation === 
- 
-<​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"​ 
-time make mj4 
-</​code>​ 
- 
-=== Installation === 
- 
-<​code>​ 
-make install 
-TEMP=$PWD 
-cd /opt 
-[ -d abinit ] && rm abinit 
-ln -s abinit-7.4.3 abinit 
-cd $TEMP 
-</​code>​ 
- 
-===== Exécution des tests ===== 
- 
-<​code>​ 
-cd tests 
-make tests_min 
-</​code>​ 
- 
- --- //​[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2013/11/07 14:18// 
developpement/activites/integration/abinit4wheezy.txt · Dernière modification: 2015/01/07 10:04 (modification externe)