Math/Stat Subroutine Libraries -- MKL, CXML, LAPACK, IMSL, NAG, FFTW
- Excellent CPU performance
- On-going efforts to expand and improve all these libraries are in place. At Cornell, significant effort is made to install new versions of these libraries as they become available.
- LAPACK is a public domain package of linear system and eigenproblem solvers and is good for portable math.
- MKL, math kernel libraries, provided by Intel and tuned for the Velocity architecture. Linear algebra, signal processing, vector math. Called by some other libraries.
- CXML, Compaq Extended Math Library, part of Compaq Fortran. Linear algebra, sparse linear solvers, signal processing.
- SCALAPACK is a parallel version of LAPACK.
- PETSc is a parallel implementation of sparse matrix algebra. This could be handy to use if you don't want to bother parallelizing your own code, but where you have large sparse matrices to deal with.
- FFTW, fourier transforms. Includes parallel routines.
Message-passing Libraries
- Message-passing Interface (MPI)
- The standard, driven by broadly based committee. The current version, MPI 2, is partly available at the Cornell Theory Center. We have two versions of the MPI library: MPI from MPI Software Technologies, Inc., and mpich from Argonne National Labs. If you are using an MPI-based library (like PETSc), you should inquire whether it was compiled using the vendor's MPI or mpich, because you can't mix includes from one flavor with libraries from the other.
- Standard continues to develop. In particular, some main thrusts are to find a standard for MPI-I/O, to come up with F90 bindings, and to improve the speed of message passing.
- PVM, P4, and TCGMSG are other libraries, but they do not work well with Windows.
Parallel I/O File System
- Library of routines for parallel I/O and file management. Not yet available for Windows.