umfpack

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
umfpack [2009/11/18 18:39] gerardumfpack [2009/12/04 09:45] gerard
Ligne 1: Ligne 1:
-http://www.cise.ufl.edu/research/sparse/umfpack/ UMFPACK+====== UMFPACK ====== 
 +  * [[http://www.cise.ufl.edu/research/sparse/umfpack/]] 
  
-nemo+====== Installation ====== 
 +^ ^ ^ ^ 
 +nemo | 4.4 | /usr/local/UMFPACKv4.4 | compilé avec sunperflib | 
 +| shrek | | /usr/local/UMFPACKv4.4 | compilé avec [[http://www.cs.utexas.edu/users/flame/goto|K. Goto's BLAS]] |
  
 +====== Utilisation ======
 +  * /usr/local/UMFPACKv4.4/UMFPACK/Lib/libumfpack.a
 +  * /usr/local/UMFPACKv4.4/AMD/Lib/libamd.a
 +  * /usr/local/UMFPACKv4.4/UMFPACK/Include
 +  * /usr/local/UMFPACKv4.4/AMD/Include
 +  * /local/apps/src/UMFPACKv4.4/UMFPACK/Demo/
 +  
  
-shrek+Utilisation de umfpack dans un code fortran: 
 +  * umfpack est écrit en C 
 +  * il existe une interface fortran 77, utilisable en fortran 90 
 +  * prendre pour exemple le fichier Demo/umf4hb64.f dans /local/apps/src/UMFPACKv4.4/UMFPACK/Demo/ sur nemo 
 +  * dans son fichier, ajouter les lignes suivantes:
  
-4.4+<code> 
 +  call umf4def (control) ! met les parametres par defauts 
 +  control (1) = 1 
 +  call umf4pcon (control) 
 +  call umf4sym (N, N, Ap, Ai, Ax, symbolic, control, info) !       pre-order and symbolic analysis 
 +  call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info) 
 +  call umf4fsym (symbolic) 
 +  call umf4sol (sys, x, RHSV, numeric, control, info) 
 +  call umf4fnum (numeric) 
 +  call umf4pinf (control, info) 
 +</code> 
 +Pour cela, il faut bien entendu lier votre programme avec le programme umf4_f77wrapper.c, de la facon suivante: 
 +<code> 
 +cc -o umf4_f77wrapper.o -DDLONG -m64 -I/usr/local/UMFPACKv4.4/UMFPACK/Include -c umf4_f77wrapper.c 
 +f90 -o poisson3d_umfpack.o -g -fast -C -e -fpp -stackvar -xcheck=init_local -fpover -ftrap=%none -Xlist -fsimple=0 -fns=no -dalign -O4 -KPIC -xmodel=medium -m64 -c poisson3d_umfpack.f90 
 +f90 -g -fast -C -e -fpp -stackvar -xcheck=init_local -fpover -ftrap=%none -Xlist -fsimple=0 -fns=no -dalign -O4 -KPIC -xmodel=medium -m64 -o poisson3d_umfpack poisson3d_umfpack.o umf4_f77wrapper.o /usr/local/UMFPACKv4.4/UMFPACK/Lib/libumfpack.a /usr/local/UMFPACKv4.4/AMD/Lib/libamd.a -xlic_lib=sunperf
  
-/usr/local/UMFPACKv4.4+</code>
  
-compil&eacute; avec sunperflib+====== Config ====== 
 +  * on édite Make.include et Make.solaris (voir lien sur Make.solaris_amd64) avant de compiler  
 +<code> 
 +diff /local/apps/src/UMFPACKv4.4/UMFPACK/Make/Make.include-ori /local/apps/src/UMFPACKv4.4/UMFPACK/Make/Make.include 
 +50c50 
 +< CONFIG = -DNBLAS 
 +--- 
 +> CONFIG =  
 +63c63 
 +< # include ../Make/Make.solaris 
 +--- 
 +> include ../Make/Make.solaris
  
 +</code>
 +et
 +<code>
 +diff /local2/fboyer/UMFPACKv4.4/UMFPACK/Make/Make.solaris /local/apps/src/UMFPACKv4.4/UMFPACK/Make/Make.solaris
 +5a6
 +
 +11,13c12,14
 +<  CC = cc
 +<  CFLAGS = -Xc -xO5 -KPIC -dalign -xtarget=generic64
 +<  F77FLAGS =   -xO5 -KPIC -dalign -m64
 +---
 +> CC = cc
 +> CFLAGS = -xO5 -xdepend -DLP64 -xprefetch=auto -xprefetch_level=3 -xipo=2 -m64 -xmodel=medium
 +> F77FLAGS =   -xO5 -xdepend -DLP64 -xprefetch=auto -xprefetch_level=3 -xipo=2 -m64 -xmodel=medium
 +22d22
 +< #LIB = -xlic_lib=sunperf -lfai -lfsu -lfui -lsunperf -lm -lsunmath
 +30c30
 +<  LIB =  -xlic_lib=sunperf -lfai -lfsu -lfui -lm
 +---
 +> LIB = -L/opt/studio12/SUNWspro/lib/amd64 -R/opt/studio12/SUNWspro/lib/amd64 -lsunperf -lm -lpicl -lmtsk
  
-compil&eacute; avec http://www.cs.utexas.edu/users/flame/goto KGoto's BLAS+</code> 
 + 
 +  * 64 bits uniquement 
 +  * il y a un bug dans les programmes de test, corrige dans umf4hb64.f 
 +<code> 
 +diff  /local/apps/src/UMFPACKv4.4/UMFPACK/Demo/umf4hb64.f-ori  /local/apps/src/UMFPACKv4.4/UMFPACK/Demo/umf4hb64.f 
 +331c331 
 +<      $      n, nz, Ap (n+1), Ai (n), j, i, p 
 +--- 
 +>      $      n, nz, Ap (n+1), Ai (nz), j, i, p 
 +</code> 
 + 
 +====== Tests ====== 
 +===== en C ===== 
 + 
 +  * prendre le source [[http://iusti.polytech.univ-mrs.fr/~jobic/dokuwiki/doku.php?id=librairies_installees&#umfpack|ici]] 
 +<code> 
 +module load ss12 
 +cc -o umfpack_simple -m64 umfpack_simple.c -I/usr/local/UMFPACKv4.4/UMFPACK/Include -R/usr/local/UMFPACKv4.4/UMFPACK/Lib -L/usr/local/UMFPACKv4.4/UMFPACK/Lib -R/usr/local/UMFPACKv4.4/AMD/Lib -L/usr/local/UMFPACKv4.4/AMD/Lib -lumfpack -lamd -xlic_lib=sunperf 
 +</code> 
 +ou 
 +<code> 
 +module load ss12u1 
 +cc -o umfpack_simple -m64 umfpack_simple.c -I/usr/local/UMFPACKv4.4/UMFPACK/Include -R/usr/local/UMFPACKv4.4/UMFPACK/Lib -L/usr/local/UMFPACKv4.4/UMFPACK/Lib -R/usr/local/UMFPACKv4.4/AMD/Lib -L/usr/local/UMFPACKv4.4/AMD/Lib -lumfpack -lamd -xlic_lib=sunperf -lm 
 +</code> 
 + 
 +===== en fortran =====
  
-====== Config ====== 
-  * on édite Make.include et Make.solaris (voir lien sur Make.solaris_amd64) avant de compiler  
  
  • umfpack.txt
  • Dernière modification : 2017/08/25 09:56
  • de 127.0.0.1