Différences
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évisionLes deux révisions suivantes | ||
hypre [2008/01/07 13:48] – gerard | hypre [2009/10/15 15:21] – gerard | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | |||
====== Site ====== | ====== Site ====== | ||
- | [[http://www.llnl.gov/CASC/linear_solversm|Lien externe]] | + | [[https://computation.llnl.gov/casc/hypre/|Lien externe]] |
====== Version 1.6.0 ====== | ====== Version 1.6.0 ====== | ||
Ligne 8: | Ligne 7: | ||
* / | * / | ||
* les exemples et la doc sont accessibles: | * les exemples et la doc sont accessibles: | ||
+ | |||
+ | |||
+ | |||
====== Version 2.0.0 ====== | ====== Version 2.0.0 ====== | ||
* installé sur nemo | * installé sur nemo | ||
- | | + | |
- | * le configure se fait à partir du script [[http:// | + | ^ chemin ^ précision ^ script pour recompiler ^ features ^ compilateurs ^ MPI ^ |
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | | | | / | ||
+ | |||
+ | |||
+ | ===== Exemples ===== | ||
+ | | ||
+ | < | ||
+ | [[http:// | ||
* penser à utiliser le compilateur Studio 12, avec la commande | * penser à utiliser le compilateur Studio 12, avec la commande | ||
- | < | ||
- | > module load ss12 | ||
+ | < | ||
+ | module load ss12 | ||
</ | </ | ||
Le **path** idéal devrait au moins contenir: | Le **path** idéal devrait au moins contenir: | ||
< | < | ||
PATH=/ | PATH=/ | ||
- | |||
</ | </ | ||
+ | * [[hypre_patches|patches]] | ||
+ | |||
+ | |||
+ | ==== ex1 ==== | ||
- | * testé l' | + | * testé l' |
< | < | ||
nemo-henry% mprun -np 2 ex1 | nemo-henry% mprun -np 2 ex1 | ||
Ligne 48: | Ligne 67: | ||
</ | </ | ||
- | * modifié le Makefile du répertoire exemples pour que ça marche: | + | ==== ex5 ==== |
+ | avec SS12u1 et HPC6.0 | ||
< | < | ||
- | nemo-henry% diff Makefile-dist Makefile | + | mpcc -g -m64 -I$HYPRE/ |
- | 4,6c4,6 | + | mpcc -m64 -fast -fsimple=0 -fns=no -xnolibmopt -o ex5 ex5.o -g -L$HYPRE/ |
+ | mprun -np 4 ex5 | ||
+ | </ | ||
+ | |||
+ | ====== Modifications ====== | ||
+ | * récupérer le répertoire exemples et modifier le Makefile: | ||
+ | < | ||
+ | nemo-henry% diff Makefile-ori Makefile | ||
+ | 4,7c4,7 | ||
< CC = mpicc | < CC = mpicc | ||
< F77 = mpif77 | < F77 = mpif77 | ||
< CXX = mpiCC | < CXX = mpiCC | ||
+ | < HYPRE_DIR = ../hypre | ||
--- | --- | ||
> CC = mpcc | > CC = mpcc | ||
> F77 = mpf77 | > F77 = mpf77 | ||
> CXX = mpCC | > CXX = mpCC | ||
+ | > HYPRE_DIR = / | ||
12c12 | 12c12 | ||
< COPTS = -g -pedantic -Wall | < COPTS = -g -pedantic -Wall | ||
Ligne 75: | Ligne 105: | ||
> -L/ | > -L/ | ||
> -lmpi | > -lmpi | ||
- | 37a40 | + | |
- | > | + | |
</ | </ | ||
Ligne 111: | Ligne 140: | ||
</ | </ | ||
+ | |||
+ | dans le répertoire lapack: | ||
+ | < | ||
+ | > diff lapack/ | ||
+ | < xerbla.c | ||
+ | --- | ||
+ | > xerbla.c\ | ||
+ | > dlamch.c | ||
+ | 112c113 | ||
+ | < all: ${OBJS} dlamch.o | ||
+ | --- | ||
+ | > all: ${OBJS} | ||
+ | 127,129d127 | ||
+ | < dlamch.o : dlamch.c ${LAPACK_HEADERS} | ||
+ | < ${CC} -c dlamch.c | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | ====== problèmes ====== | ||
+ | ===== version 2.2.0b zero-sized struct/ | ||
+ | cette erreur: | ||
+ | < | ||
+ | mpcc -DHAVE_CONFIG_H -I. -I. -I. -I/ | ||
+ | " | ||
+ | cc: acomp failed for sidl_rmi_InstanceRegistry_Impl.c | ||
+ | make[3]: *** [sidl_rmi_InstanceRegistry_Impl.lo] Error 1 | ||
+ | </ | ||
+ | est [[http:// | ||
+ | |||
+ | ===== interface babel ne compile pas ===== | ||
+ | Pour compiler avec l' | ||
+ | Mais la compilation échoue à cause du problème suivant: | ||
+ | < | ||
+ | "/ | ||
+ | </ | ||
+ | This error is due to these lines: | ||
+ | < | ||
+ | #pragma weak sidl_io_Serializer__connectI | ||
+ | struct sidl_io_Serializer__object* | ||
+ | sidl_io_Serializer__rmicast(...); | ||
+ | </ | ||
+ | |||
+ | if we invert the two preceding lines: | ||
+ | < | ||
+ | struct sidl_io_Serializer__object* | ||
+ | sidl_io_Serializer__rmicast(...); | ||
+ | #pragma weak sidl_io_Serializer__connectI | ||
+ | </ | ||
+ | |||
+ | C'est ce qui est expliqué [[http:// | ||
+ | < | ||
+ | Les hacks ont été faits par [[http:// | ||
+ | \\ | ||
+ | Attention, pour utiliser les libs optimisées du constructeur (sun perflib), ne pas oublier les lignes suivantes en argument du configure: | ||
+ | < | ||
+ | > --with-blas-libs=" | ||
+ | > --with-blas-lib-dirs="/ | ||
+ | > --with-lapack-libs=" | ||
+ | > --with-lapack-lib-dirs="/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Utilisation de l' | ||
+ | Comme cela manque d' | ||
+ | * src/ | ||
+ | |||