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/24 16:35] gerardumfpack [2009/12/04 09:45] gerard
Ligne 12: Ligne 12:
   * /usr/local/UMFPACKv4.4/UMFPACK/Include   * /usr/local/UMFPACKv4.4/UMFPACK/Include
   * /usr/local/UMFPACKv4.4/AMD/Include   * /usr/local/UMFPACKv4.4/AMD/Include
 +  * /local/apps/src/UMFPACKv4.4/UMFPACK/Demo/
 +  
 +
 +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:
 +
 +<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
 +
 +</code>
  
 ====== Config ====== ====== Config ======
Ligne 50: Ligne 77:
  
   * 64 bits uniquement   * 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 ====== ====== Tests ======
 +===== en C =====
 +
   * prendre le source [[http://iusti.polytech.univ-mrs.fr/~jobic/dokuwiki/doku.php?id=librairies_installees&#umfpack|ici]]   * prendre le source [[http://iusti.polytech.univ-mrs.fr/~jobic/dokuwiki/doku.php?id=librairies_installees&#umfpack|ici]]
 <code> <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 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> </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 =====
  
  
  • umfpack.txt
  • Dernière modification : 2017/08/25 09:56
  • de 127.0.0.1