Mentions légales du service

Skip to content
Snippets Groups Projects

Chameleon: A dense linear algebra software for heterogeneous architectures

Chameleon is a C library providing parallel algorithms to perform BLAS/LAPACK operations exploiting fully modern architectures.

Chameleon dense linear algebra software relies on sequential task-based algorithms where sub-tasks of the overall algorithms are submitted to a Runtime system. Such a system is a layer between the application and the hardware which handles the scheduling and the effective execution of tasks on the processing units. A Runtime system such as StarPU is able to manage automatically data transfers between not shared memory area (CPUs-GPUs, distributed nodes).

This kind of implementation paradigm allows to design high performing linear algebra algorithms on very different type of architecture: laptop, many-core nodes, CPUs-GPUs, multiple nodes. For example, Chameleon is able to perform a Cholesky factorization (double-precision) at 80 TFlop/s on a dense matrix of order 400 000 (i.e. 4 min). Chameleon is a sub-project of MORSE specifically dedicated to dense linear algebra.

Get Chameleon

To use last development states of Chameleon, please clone the master branch hosted here, i.e.:

git clone git@gitlab.inria.fr:solverstack/chameleon.git

Last releases of Chameleon are hosted on the gforge.inria.fr for now. Future releases will be available on this gitlab project.

Documentation

There is no up-to-date documentation of Chameleon. We would like to provide a doxygen documentation hosted on gitlab in the future.

The documentation of Chameleon's last release is available here: chameleon-0.9.1 documentation

Installation

Build and install with CMake

Chameleon can be built using CMake. This installation requires to have some library dependencies already installed on the system.

Please refer to the chameleon-0.9.1 to get configuration information.

Distribution of Chameleon

To get support to install a full distribution (Chameleon + dependencies) we encourage users to use the morse branch of Spack.

Please read these documentations:

Get involved!

Mailing list

TODO

Contributions

TODO

Authors

TODO

Citing Chameleon

TODO

Licence

TODO