WHAT'S NEW Version 3.8.0-2 1. CTXT is now an opaque object. 2. OpenMP is now better integrated. 3. New non-blocking collectives. 4. Now allowing remote builds (i.e. local contributions can now be sent to the final destination process) 5. Restore Makefiles to work on parallel builds. Version 3.7.0.1 1. PREC%DESCR method now requires a mandatory INFO argument. Version 3.7.0 1. Major change at API level: integer kinds reorganization. Local indices are now of kind PSB_IPK_, whereas global indices are of kind PSB_LPK_; at configure time it is possible to choose them independently to be PSB_MPK_ (4 bytes) or PSB_EPK_ (8 bytes), with the constraint that LPK is always at least as large as IPK. 2. The internals have also been reorganized heavily, with a much more coherent design and split of functionalities into source files. Version 3.6.1 1. Multiple improvements to CDASB. 2. Some additional methods required by the latest versions of MLD Version 3.5. 1. New Krylov methods methods FCG and GCR are now available. 2. Existing codes will work untouched with version 3.5, but they will have to be recompiled; new methods have been added for the sake of GPU computations, plus the usual bunch of bug fixes. 3. An experimental C interface is available; this is neither complete nor fully documented, feedback welcome. Version 3. This version requires a working Fortran 2003 compiler; we do not use all of the language features (specifically, so far we did not employ FINAL subroutines), but the features we use were sufficient in identifying bugs in ALL compilers we tried (all the bugs have been reported and mostly fixed by the respective vendors). The new internals have been completely overhauled, and in many cases rewritten; they now enable a much better interfacing with user-defined storage formats. If the user is only interested in the predefined formats, then the user's guide should be sufficient; what is somewhat lacking is documentation on how to add to the library, i.e. a developers' guide; stay tuned. The architecture of the Fortran 2003 sparse BLAS is described in S. Filippone, A. Buttari: Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003, ACM Trans. on Math. Software, vol. 38, No. 4, 2012. The ideas are explored further with the paper: V. Cardellini, S. Filippone and D. Rouson Design Patterns for sparse-matrix computations on hybrid CPU/GPU platforms, Scientific Programming, 22(2014), pp.1-19. Version 1.0 of the library was described in: 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. COMPILER NOTES. This code is confirmed to work with the following compilers (or later versions thereof): NAGware 5.2; GNU 4.7.3; Cray CCE 8.0.1; They are all recognized by the configure script. To make the script work with the Cray CCE environment, it is recommended to use the following: ./configure FC=ftn F77=ftn CC=cc MPF90=ftn MPF77=ftn MPCC=cc with both CCE and GNU lower-level compilers. For the GNU compilers 4.6.x we are aware of a number of memory management issues that might surface in your applications; most of them (that we're aware of) are solved in version 4.7.2 or later. The Intel compiler up to version 12.1 fails to compile, as of the last version we got access to. KNOWN ISSUES. An annoying problem exists with some versions of MPI: if the configure script sets -DMPI_MOD the MPI call interfaces will be resolved by using the MPI Fortran module. However usage of the module may cause compilation to fail when coupled with the debugging option -g, because the compiler complains that it cannot find a matching interface for some of the communication routines. The solution: either take out the -g option, or, if you really need to debug, edit Make.inc to force -DMPI_H in place of -DMPI_MOD. RELATED SOFTWARE If you are looking for more sophisticated preconditioners, you may be interested in the package MLD2P4 from http://github.com/sfilippone/mld2p4-2