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 systems
Matrix-vector multiply for sparse systems
FFT
LU factor and solve
Autocorrelation
Convolution/deconvolution
Tridiagonal solvers
Banded solvers
Eigensolvers
Singular value decomposition
Least squares
One-dimensional and multidimensional sorts
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 systems
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++.