You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/README

137 lines
4.5 KiB
Plaintext

This directory contains the PSBLAS library, version 2.0.
Version 1.0 of the library was described in:
20 years ago
S. Filippone, M. Colajanni
PSBLAS: A library for parallel linear algebra computation on sparse matrices
ACM Trans. on Math. Software, 26(4), Dec. 2000, pp. 527-550.
PLATFORMS:
The compilation process relies on the choice of an appropriate
Make.inc file; we have tested with AIX XLF, Intel ifc/Linux, Lahey
F95/Linux, Nag f95/Linux, GNU Fortran/Linux. If you succeed in compiling with
other compiler/operating systems please let us know.
20 years ago
LINUX:
There finally exist a GNU Fortran 95 implementation: we are using the
development snapshots from GCC 3.5.0, later 4.1 and 4.2 since July
2004, and it appears to work. The 4.2 version of GNU compilers is now
our reference platform.
20 years ago
For the PGI compilers, we used them in conjunction with gcc, NOT
pgcc. Note that with pgi 3.6 we have horrible performance, due to
spurious array copies when calling Fortran 77 codes from Fortran 90;
this is fixed in version 4 and later.
20 years ago
The Lahey version we got access to (6.0 and 6.1) seems to suffer from
the same extra copies problem; this is most apparent in the matrix
build process.
For the Intel compilers, we used ifc versions 7, 8 and 9; with version 6.0
20 years ago
you need to change the way modules are handled, but we recommend to migrate
to the new version anyway. Moreover, with versions prior to 7.1, there
is a strange error in pargen/ppde90: the compiler did not like the
INTERFACE for the dummy argument subroutine PARTS, it wanted an
EXTERNAL specification. Again, please move to 7.1.
IBM SP.
The library has been tested on an IBM SP2, SP4 and SP5, with XLC and XLF
compilers, and a version of the BLACS based on MPI.
The setting
F90=xlf90 -qsuffix=f=f90
in Make.inc.rs6k takes care of the f90 extension.
WARNING: xlf 8.1 introduced a performance bug, whereas a Fortan 90
code calling a Fortan 77 code would incur spurious array copies;
please make sure your system has the PTF xlf 8102 installed.
20 years ago
UTILITIES
The TEST/Fileread directory contains some utilities to convert to/from
Harwell-Boeing and MatrixMarket file formats.
20 years ago
DOCUMENTATION
See userguide.pdf
20 years ago
Please consult the sample programs, especially TEST/pargen/ppde90.f90.
OTHER SOFTWARE CREDITS
We include our modified implementation of some of the Sparker (serial
sparse BLAS) material, e.g. Jagged diagonal, plus a number of
extensions of our own design. The original file spblas.f can be
downloaded from matisa.cc.rl.ac.uk; of course any bugs in our
implementation are our own to fix. The main reference for the serial
sparse BLAS is:
Duff, I., Marrone, M., Radicati, G., and Vittoli, C.
Level 3 basic linear algebra subprograms for sparse matrices: a user
level interface
ACM Trans. Math. Softw., 23(3), 379-401, 1997.
In the multilevel preconditioners we use SMMP by Randolph E. Bank and
Craig C. Douglas na.bank@na-net.ornl.gov and
na.cdouglas@na-net.ornl.gov; we wrapped it in a Fortran 95 interface
with dynamic memory allocation.
To compile and run our software you will need
1. A working version of MPI
2. The MPI version of the BLACS from
http://www.netlib.org/blacs/index.html
3. A version of the BLAS; if you don't have a specific version for
your platform you may try ATLAS available from
http://math-atlas.sourceforge.net/
4. We have had good results with the METIS library, from
http://www-users.cs.umn.edu/~karypis/metis/metis/main.html
This is not necessary to compile our library, but the test program
in test/Fileread assumes you have it installed.
5. For our preconditioners we include interfaces to the following
software packages:
-- SuperLU 3.0 http://crd.lbl.gov/~xiaoye/SuperLU/
-- UMFPACK 4.4 http://www.cise.ufl.edu/research/sparse/umfpack/
These are optional, you only need to install them if you actually
want to use them.
20 years ago
TODO:
As soon as TR 15581 and MOVE_ALLOC become available in GNU Fortran
we shall move from POINTERS to ALLOCATABLE for both vectors and
derived data types components.
20 years ago
The PSBLAS team.
Contact: Salvatore Filippone salvatore.filippone@uniroma2.it
Credits for version 2.0:
20 years ago
Salvatore Filippone
Alfredo Buttari
The MD2P4 multilevel parallel preconditioners contained in directory
src/prec were developed with the contribution of:
Pasqua D'Ambra
Daniela Di Serafino
They are still in an early experimental stage, use at your own risk!
Credits for version 1.0:
Salvatore Filippone
Michele Colajanni
20 years ago
Fabio Cerioni
Stefano Maiolatesi
Dario Pascucci