Elemental is a C++ framework for distributed-memory dense linear algebra that strives to be fast, portable, and programmable. It can be thought of as a generalization of PLAPACK to element-by-element distributions that also makes use of recent algorithmic advances from the FLAME project. Elemental usually outperforms both PLAPACK and ScaLAPACK, however, it heavily relies on MPI collectives so a good MPI implementation is crucial. Both pure MPI and hybrid OpenMP-MPI configurations are supported.
LAPACK is a linear algebra library, based on LINPACK and EISPACK, designed to provide routines for handling simultaneous equations and matrix algebra efficiently, particularly on shared memory vector processors, parallel processors, and clusters. The code is written in Fortran, and requires the BLAS (Basic Linear Algebra Subprograms) library.
LAM/MPI is an implementation of the Message Passing Interface (MPI) parallel standard that is especially friendly to clusters. It includes a persistent runtime environment for parallel programs, support for all of MPI-1, and a good chunk of MPI-2, such as all of the dynamic functions, one-way communication, C++ bindings, and MPI-IO.
SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers) provides robust time integrators and nonlinear solvers that can easily be incorporated into existing simulation codes. It requires minimal information from the user, allow users to easily supply their own data structures underneath the solvers, and allows for easy incorporation of user-supplied linear solvers and preconditioners.
PCP (Pattern Classification Program) is a machine learning program for supervised classification of patterns. It runs in interactive and batch modes, and implements the following machine learning algorithms and methods: k-means clustering, Fisher's linear discriminant, dimension reduction using Singular Value Decomposition, Principal Component Analysis, feature subset selection, Bayes error estimation, parametric classifiers (linear and quadratic), pseudo-inverse linear discriminant, k-Nearest Neighbor method, neural networks, Support Vector Machine algorithm (SVM), model selection for SVM, cross-validation, and bagging (committee) classification.
The Amsterdam Compiler Kit is a fully-featured retargetable compiler toolchain. It will cross-compile ANSI C, K&R C, Pascal, Modula-2, Occam, Fortran and Basic for a number of architectures including, but not limited to, the 6500, 68000, Z80, i80, i86, i386, and PDP-11. It provides a complete development environment including preprocessors, compilers, assemblers, linkers, librarian tools, and target download tools.
The 2DECOMP&FFT library is a software framework in Fortran to build large-scale parallel applications. It is designed for applications using three-dimensional structured mesh and spatially implicit numerical algorithms. At the foundation, it implements a general-purpose 2D pencil decomposition for data distribution on distributed-memory platforms. On top, it provides a highly scalable and efficient interface to perform three-dimensional distributed FFTs.
MPI Parallel Environment (MPE) is a software package for MPI (Message Passing Interface) programmers. It provides users with a number of useful tools for their MPI programs such as a set of profiling libraries that collect information about the behavior of MPI programs, graphical trace file analyzers, serializers, type checkers, collective operations validators, etc.