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