arpack

Ceci est une ancienne révision du document !


arpack

Utilisation

32 bits 64 bits
version série /local/apps/lib/lib/libarpack_i86pc.a /local/apps/lib/amd64/lib/libarpack_amd64.a
version parallèle /local/apps/lib/lib/parpack_MPI-i86pc.a /local/apps/lib/amd64/lib/parpack_MPI-amd64.a
  • dans /local/apps/src/ARPACK
  • ne pas oublier les patches ~/downloads/patch.tar.gz et ~/downloads/ppatch.tar.gz.
  • compilé avec Sun Studio 12
  • Sun MPI (HPC6)
  • voir les options utilisées dans /local/apps/src/ARPACK/ARmake.inc

Exemple en 32 bits, série:

> diff ARmake.inc-ori  ARMAKES/ARmake.solaris10 
28c28
< home = $(HOME)/ARPACK
---
> home = $(HOME)/src/ARPACK
35c35
< PLAT = SUN4
---
> PLAT = i86pc
46c46
< DIRS        = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir)
---
> #DIRS        = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir)
54c54
< #DIRS         = $(UTILdir) $(SRCdir)
---
> DIRS         = $(UTILdir) $(SRCdir)
105c105
< FFLAGS        = -O -cg89
---
> FFLAGS        = -fast
107c107
< LDFLAGS = 
---
> LDFLAGS = -xlic_lib=sunperf
115c115
< MAKE    = /bin/make
---
> MAKE    = make

pour compiler:

make lib

mais l'exemple ne passe pas en 32bits (FIXME: ne pas compiler avec l'option fast!), il faut compiler en 64 bits

> file dssimp
dssimp:         ELF 32-bit LSB executable 80386 Version 1 [SSE2 SSE AMD_3DNow CMOV FPU], dynamically linked, not stripped

> ./dssimp 
  
  Error with _saupd, info =   -9999
  Check documentation in _saupd 
  
 Note: IEEE floating-point exception flags raised: 
    Inexact;  Invalid Operation; 
 See the Numerical Computation Guide, ieee_flags(3M) 

impossible de compiler les exemples:

slatp:~/projects/tests/arpack/examples/SIMPLE> make dssimp
Making dssimp.o from dssimp.f
g77 -O2 dssimp.o /usr/lib/libarpack.a /usr/lib/liblapack.a /usr/lib/libblas.a  -o dssimp
/usr/lib/libblas.a(xerbla.o): In function `xerbla_':
(.text+0xd0): multiple definition of `xerbla_'
/usr/lib/liblapack.a(xerbla.o):(.text+0x0): first defined here
/usr/bin/ld: Warning: size of symbol `xerbla_' changed from 97 in /usr/lib/liblapack.a(xerbla.o) to 57 in /usr/lib/libblas.a(xerbla.o)
collect2: ld returned 1 exit status
make: *** [dssimp] Error 1

sur slatp, on peut avoir:

atlas3-base - Automatically Tuned Linear Algebra Software,generic shared
lapack3 - library of linear algebra routines 3 - shared version
refblas3 - Basic Linear Algebra Subroutines 3, shared library


slatp:~# dpkg -S libblas
refblas3: /usr/lib/libblas.so.3
refblas3: /usr/lib/libblas.so.3.0
refblas3-dev: /usr/lib/libblas.so
refblas3-dev: /usr/lib/libblas.a
atlas3-base: /usr/lib/atlas/libblas.so.3
atlas3-base: /usr/lib/atlas/libblas.so.3.0

slatp:~# dpkg -S liblapack
lapack3-dev: /usr/lib/liblapack.a
lapack3: /usr/lib/liblapack.so.3
atlas3-base: /usr/lib/liblapack_atlas.so.3.0
lapack3-dev: /usr/lib/liblapack.so
lapack3: /usr/lib/liblapack.so.3.0
atlas3-base: /usr/lib/atlas/liblapack.so.3.0
atlas3-base: /usr/lib/liblapack_atlas.so.3
atlas3-base: /usr/lib/atlas/liblapack.so.3

et ça passe avec atlas:

slatp:~/projects/tests/arpack/examples/SIMPLE> make dssimp                      
g77 -O2 dssimp.o /usr/lib/libarpack.a /usr/lib/atlas/liblapack.so.3 /usr/lib/atlas/libblas.so.3  -o dssimp
  • arpack.1231746901.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)