The Sun Scalable Scientific Subroutine Library (Sun S3L) provides a set of parallel and scalable functions and tools that are used widely in scientific and engineering computing. It is built on top of MPI and provides the following functionality for Sun MPI programmers:
Vector and dense matrix operations (level 1, 2, 3 Parallel BLAS).
Iterative solvers for sparse s.
Matrix-vector multiply for sparse s.
FFT
LU factor and solve.
Autocorrelation.
Convolution/deconvolution.
Tridiagonal solvers.
Banded solvers.
Eigensolvers.
Singular value decomposition.
Least squares.
One-dimensional sort.
Multidimensional sort.
Selected ScaLAPACK and BLACS application program interface.
Conversion between ScaLAPACK and S3L.
Matrix transpose.
Random number generators (linear congruential and lagged Fibonacci).
Random number generator and I/O for sparse s.
Matrix inverse.
Array copy.
Safety mechanism.
An array syntax interface callable from message-passing programs.
Toolkit functions for operations on distributed data.
Support for the multiple instance paradigm (allowing an operation to be applied concurrently to multiple, disjoint data sets in a single call).
Thread safety.
Detailed programming examples and support documentation provided online.
Sun S3L routines can be called from applications written in F77, F90, C, and C++.