dune

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évisionLes deux révisions suivantes
dune [2010/09/30 13:38] gerarddune [2014/12/29 09:21] – [nouvelle version de solver-bench (0.45) plus slepc] gerard
Ligne 13: Ligne 13:
  
 </code> </code>
 +
 +====== installer une nouvelle version de solver-bench ======
 +  * dans ''/local/apps/src/dune''
 +  * déplacer l'ancienne version
 +  * récuperer le fichier do_work.sh
 +  * ne pas oublier de rajouter **-lmpi** dans **LIBS** (voir ci-dessous)
  
 ====== benchmark ====== ====== benchmark ======
Ligne 121: Ligne 127:
  
 ===== nouvelle version de solver-bench (0.45) plus slepc ===== ===== nouvelle version de solver-bench (0.45) plus slepc =====
 +<note>L'exemple ci-dessous est avec le mode debug, voir les fichiers do_work.sh pour le code optimisé</note>
  
 <code> <code>
Ligne 130: Ligne 137:
 bash-3.2$ export PETSC_ARCH=linux-gnu-c-debug bash-3.2$ export PETSC_ARCH=linux-gnu-c-debug
 bash-3.2$ export SLEPC_DIR=/local/apps/src/dune/slepc-3.1-p4 bash-3.2$ export SLEPC_DIR=/local/apps/src/dune/slepc-3.1-p4
 +bash-4.2$ cd ../slepc-3.1-p4
 bash-3.2$ ./configure  bash-3.2$ ./configure 
 bash-3.2$ make bash-3.2$ make
Ligne 178: Ligne 186:
 </code> </code>
  
-alors que pouyr la derneire version:+alors que pour la derneire version:
 <code> <code>
 ./configure CXX=g++ CXXFLAGS="-O3 -funroll-loops -finline-functions -DNDEBUG" \ ./configure CXX=g++ CXXFLAGS="-O3 -funroll-loops -finline-functions -DNDEBUG" \
Ligne 187: Ligne 195:
 --with-dune-common=/local/apps/src/dune/Dune \ --with-dune-common=/local/apps/src/dune/Dune \
 --with-dune-istl=/local/apps/src/dune/Dune \ --with-dune-istl=/local/apps/src/dune/Dune \
-CPPFLAGS="-I/local/apps/src/petsc-3.1-p5/linux-gnu-c-debug/include" \+CPPFLAGS="-I/local/apps/src/petsc-3.1-p5/linux-gnu-c-debug/include -I/usr/lib/openmpi/1.4-gcc/include" \
 LDFLAGS="-L/local/apps/src/petsc-3.1-p5/linux-gnu-c-debug/lib"  LDFLAGS="-L/local/apps/src/petsc-3.1-p5/linux-gnu-c-debug/lib" 
 +</code>
 +
 +et ca passe donc avec la ligne:
 +<code>
 +./configure CXX=g++ CXXFLAGS="-O3 -funroll-loops -finline-functions -DNDEBUG" --prefix=/local/apps/src/dune/Dune --disable-documentation --disable-compilercheck --disable-mpiruntest --with-umfpack=/local/apps/src/dune/UMFPACK --with-petsc=/local/apps/src/dune/petsc-3.1-p5 --with-dune-common=/local/apps/src/dune/Dune --with-dune-istl=/local/apps/src/dune/Dune CPPFLAGS="-I/local/apps/src/dune/petsc-3.1-p5/linux-gnu-c-debug/include -I/usr/lib/openmpi/1.4-gcc/include" LDFLAGS="-L/local/apps/src/dune/petsc-3.1-p5/linux-gnu-c-debug/lib" 
 +
 +</code>
 +ne pas oublier l'include openmpi, car il a besin de mpi.h alors qu'on a demande de compiler petsc sans mpi
 +
 +pour rajouter slepc:
 +<code>
 +./configure CXX=g++ CXXFLAGS="-O3 -funroll-loops -finline-functions -DNDEBUG" \
 +--prefix=/local/apps/src/dune/Dune \
 +--disable-documentation --disable-compilercheck --disable-mpiruntest \
 +--with-umfpack=/local/apps/src/dune/UMFPACK \
 +--with-petsc=/local/apps/src/dune/petsc-3.1-p5 \
 +--with-dune-common=/local/apps/src/dune/Dune \
 +--with-dune-istl=/local/apps/src/dune/Dune \
 +--with-slepc=/local/apps/src/dune/slepc-3.1-p4/linux-gnu-c-debug \
 +--with-slepc-includedir=/local/apps/src/dune/slepc-3.1-p4/include \
 +--with-slepc-libdir=/local/apps/src/dune/slepc-3.1-p4/linux-gnu-c-debug/lib \
 +CPPFLAGS="-I/local/apps/src/dune/petsc-3.1-p5/linux-gnu-c-debug/include -I/usr/lib/openmpi/1.4-gcc/include -I/local/apps/src/dune/slepc-3.1-p4/include" \
 +LDFLAGS="-L/local/apps/src/dune/petsc-3.1-p5/linux-gnu-c-debug/lib -L/usr/lib64/openmpi/1.4-gcc/lib" \
 +LIBS="-lmpi -lX11"
 +
 +...
 +Found the following Dune-components: 
 +
 +----------------------------------------
 +
 +dune-common.............: yes (/local/apps/src/dune/Dune) version 2.0
 +dune-istl...............: yes (/local/apps/src/dune/Dune) version 2.0
 +BLAS....................: yes
 +METIS...................: no
 +MPI.....................: no
 +PETSC...................: yes (/local/apps/src/dune/petsc-3.1-p5)
 +ParMETIS................: no
 +SLEPC...................: yes (/local/apps/src/dune/slepc-3.1-p4/linux-gnu-c-debug)
 +SuperLU-DIST............: no
 +SuperLU.................: no
 +UMFPACK.................: yes (/local/apps/src/dune/UMFPACK)
 +
 +----------------------------------------
 +
 +See ./configur
 +</code>
 +
 +<note important>Attention, cette compilation échoue, il faut enlever LIBS, lancer le configure, et hacker manuellement les 2 Makefile pour rajouter ces libs!</note>
 +<code>
 +bash-3.2$ diff /tmp/Makefile src/Makefile
 +225c225
 +< LIBS =    -L/local/apps/src/dune/Dune/lib -ldunecommon   -L/local/apps/src/dune/Dune/lib -ldunecommon ${DUNEMPILIBS}   -L/local/apps/src/dune/Dune/lib -ldunecommon  -L/local/apps/src/dune/Dune/lib -ldunecommon    -lm  -lumfpack -lamd -lpetsc -lslepc -llapack -lblas
 +---
 +> LIBS =    -L/local/apps/src/dune/Dune/lib -ldunecommon   -L/local/apps/src/dune/Dune/lib -ldunecommon ${DUNEMPILIBS}   -L/local/apps/src/dune/Dune/lib -ldunecommon  -L/local/apps/src/dune/Dune/lib -ldunecommon    -lm  -lumfpack -lamd -lpetsc -lslepc -llapack -lblas -lmpi
 +
 </code> </code>
  • dune.txt
  • Dernière modification : 2017/08/25 09:56
  • de 127.0.0.1