Elemental is open-source, openly-developed, software for distributed-memory dense and sparse-direct linear algebra and optimization which supports a wide range of functionality not available elsewhere.

Elemental releases

Please note that the release candidate for Elemental 0.86 is now available and contains support for dense and sparse Interior Point Methods for linear and quadratic programs. The official release will follow when the documentation is reasonably updated to reflect the recent rapid increase in functionality.

The previous release, from November 2014, is also available:

Download button

Elemental's contributors

While the project's development community is clearly still in its early stages, we hope to overcome the current high barrier to entry for development by gradually adding support for on-demand access to a a development version of the library on modest-sized clusters (Cf. JuliaBox).


Intranodal linear algebra

OpenBLAS is automatically downloaded and installed if no vendor/tuned BLAS/LAPACK is detected.

Intranodal graph partitioning

If ParMETIS is not disabled (e.g., by a commercial user), then it is automatically downloaded and installed (access to internal headers which are not usually installed is required). Otherwise, METIS is either automatically detected or downloaded and installed.

Internodal linear algebra

  • PMRRR (packaged with Elemental)
  • ScaLAPACK (optional for Hessenberg QR algorithm)
If ScaLAPACK support is not explicitly disabled, then Elemental looks for a previous installation and, failing that, attempts to automatically download and install the library.

Internodal communication

Auxiliary libraries

  • libquadmath provides support for quad-precision (users who prefer to use Elemental under the terms of the New BSD License must disable libquadmath when compiling with GCC)

Python interface

C++ visualization

  • Qt 5 (optional for visualization from C++

Build system

Third-party interfaces

In addition to the C++11, C, and Python interfaces included within the project, two external interfaces are currently being externally developed:

Related projects

Distributed dense linear algebra

Distributed sparse-direct linear algebra

Distributed linear algebra Frameworks

Convex optimization