StarNEig User's Guide
v0.1.4
A task-based library for solving dense nonsymmetric eigenvalue problems
|
StarNEig library aims to provide a complete task-based software stack for solving dense nonsymmetric (generalized) eigenvalue problems. The library is built on top of the StarPU runtime system and targets both shared memory and distributed memory machines. Some components of the library support GPUs.
The four main components of the library are:
The library has been developed as a part of the NLAFET project. The project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 671633. Support has also been received from eSSENCE, a collaborative e-Science programme funded by the Swedish Government via the Swedish Research Council (VR), and VR Grant E0485301. The library is published under open-source BSD 3-Clause license.
Please cite the following article when referring to StarNEig:
Mirko Myllykoski, Carl Christian Kjelgaard Mikkelsen: Task-based, GPU-accelerated and Robust Library for Solving Dense Nonsymmetric Eigenvalue Problems, Concurrency and Computation: Practice and Experience, 2020, doi: 10.1002/cpe.5915
Please see publications and authors.
Performance comparisons against MAGMA (GPU) and ScaLAPACK (distributed memory), and strong scalability on shared and distributed memory machines:
Also, see following publications:
The library currently supports only real arithmetic (real input and output matrices but real and/or complex eigenvalues and eigenvectors). In addition, some interface functions are implemented as LAPACK and ScaLAPACK wrapper functions.
Standard eigenvalue problems:
Component | Shared memory | Distributed memory | CUDA |
---|---|---|---|
Hessenberg reduction | Complete | ScaLAPACK | Single GPU |
Schur reduction | Complete | Complete | Experimental |
Eigenvalue reordering | Complete | Complete | Experimental |
Eigenvectors | Complete | — | — |
Generalized eigenvalue problems:
Component | Shared memory | Distributed memory | CUDA |
---|---|---|---|
HT reduction | LAPACK | 3rd party | — |
Schur reduction | Complete | Complete | Experimental |
Eigenvalue reordering | Complete | Complete | Experimental |
Eigenvectors | Complete | — | — |
Please see changelog and known problems.
The StarNEig User's Guide is available in both HTML and PDF formats at https://nlafet.github.io/StarNEig. The PDF version is also available under releases.
Library dependencies:
STARPU_LIBRARIES
, STARPU_MPI_LIBRARIES
and STARPU_INCLUDE_PATH
environmental variables.Test program and example code dependencies:
Execute in the same directory as this README.md
file:
The following example demonstrates how a dense matrix A
is reduced to real Schur form: