Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary

Keywords

cholesky-decomposition cuda distributed-linear-algebra eigensolver generalized-eigensolver linear-algebra mpi p2300 rocm scalapack stdexec task-based
Last synced: 4 months ago · JSON representation ·

Repository

DLA-Future

Basic Info
Statistics
  • Stars: 77
  • Watchers: 14
  • Forks: 15
  • Open Issues: 84
  • Releases: 15
Topics
cholesky-decomposition cuda distributed-linear-algebra eigensolver generalized-eigensolver linear-algebra mpi p2300 rocm scalapack stdexec task-based
Created over 6 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog License Citation

README.md

zenodo pipeline status codecov

Distributed Linear Algebra from the Future

DLA-Future is a distributed linear algebra library implemented using C++ std::execution P2300 which provides: - an asynchronous C++ interface, - a synchronous C interface, - a synchronous ScaLAPACK-like C interface (ScaLAPACK drop-in with a subset of ScaLAPACK arguments. E.g. workspace arguments are not present), - a synchronous ScaLAPACK-like Fortran interface (See DLA-Future-Fortran).

DLA-Future runs on x86 and ARM CPUs as well as NVIDIA and AMD GPUs.

Currently DLA-Future provides the following algorithms which are available in the following interfaces: | ScaLAPACK Name | Algorithm | C++ API | C API | Scalapack C API | |----------------|-----------|:-------:|:-----:|:---------------:| | P[S,D,C,Z]TRMM | Triangular matrix multiplication | ✔️ | ❌ | ❌ | | P[C,Z]HEMM, P[S,D]SYMM | Hermitian matrix multiplication | ✔️ | ❌ | ❌ | | P[S,D,C,Z]TRSM | Triangular solver | ✔️ | ❌ | ❌ | | P[S,D,C,Z]POTRF | Cholesky decomposition | ✔️ | ✔️ | ✔️ | | P[S,D,C,Z]POTRI | Inverse from Cholesky factor | ✔️ | ✔️ | ✔️ | | P[S,D,C,Z]TRTRI | Inverse of triangular matrix | ✔️ | ❌ | ❌ | | P[C,Z]HEEV*, P[S,D]SYEV* | Symmetric / Hermitian eigenvalue solver | ✔️ | ✔️ | ✔️ | | P[C,Z]HEGV*, P[S,D]SYGV* | Generalized Symmetric / Hermitian eigenvalue solver | ✔️ | ✔️ | ✔️ |

Notes: - The C++ interface provides a non distributed interface as well.

Getting started with DLAF

Build

See BUILD.md.

Link your program/library with DLAF

Using DLAF in a CMake project is extremely easy!

In the following, the variable DLAF_INSTALL_PREFIX is set to where DLAF is installed. In case you used spack for installing DLAF, you can easily set it with:

bash export DLAF_INSTALL_PREFIX=`spack location -i dla-future`

Then, you can configure your project with one of the following:

```bash

By appending the value to the CMAKEPREFIXPATH

cmake -DCMAKEPREFIXPATH=${DLAFINSTALLPREFIX} ..

... or by setting DLAF_DIR

cmake -DDLAFDIR="$DLAFINSTALL_PREFIX/lib/cmake" .. ```

Then, it is just as simple as adding these directives in your CMakeLists.txt:

``` find_package(DLAF)

... and then for your executable/library target

targetlinklibraries( PRIVATE DLAF::DLAF) ```

Documentation

See DOCUMENTATION.md for the documentation of older versions, or for the instructions to build it.

Citing

If you are using DLA-Future, please cite the following paper in addition to this repository:

@InProceedings{10.1007/978-3-031-61763-8_13, author="Solc{\`a}, Raffaele and Simberg, Mikael and Meli, Rocco and Invernizzi, Alberto and Reverdell, Auriane and Biddiscombe, John", editor="Diehl, Patrick and Schuchart, Joseph and Valero-Lara, Pedro and Bosilca, George", title="DLA-Future: A Task-Based Linear Algebra Library Which Provides a GPU-Enabled Distributed Eigensolver", booktitle="Asynchronous Many-Task Systems and Applications", year="2024", publisher="Springer Nature Switzerland", address="Cham", pages="135--141", isbn="978-3-031-61763-8" }

Acknowledgements

The development of DLAF library would not be possible without support of the following organizations (in alphabetic order):

||| :---:|:--- | CINECA: Cineca Consorzio Interuniversitario ||| | CSCS: Swiss National Supercomputing Centre ||| | ETH Zurich: Swiss Federal Institute of Technology Zurich ||| | PASC: Platform for Advanced Scientific Computing ||| | PRACE: Partnership for Advanced Computing in Europe
As part of IP6 WP8 |||

Owner

  • Name: Swiss National Supercomputing Center (CSCS)
  • Login: eth-cscs
  • Kind: organization
  • Location: Lugano, Switzerland

Citation (CITATION.cff)

cff-version: 1.2.0
title: DLA-Future 0.10.0
repository-code: https://github.com/eth-cscs/DLA-Future
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Raffaele
    family-names: Solcà
    orcid: 'https://orcid.org/0009-0009-9346-4376'
  - given-names: Alberto
    family-names: Invernizzi
    orcid: 'https://orcid.org/0009-0004-4948-0313'
  - given-names: Auriane
    family-names: Reverdell
    orcid: 'https://orcid.org/0000-0002-5531-0458'
  - given-names: John
    family-names: Biddiscombe
    orcid: 'https://orcid.org/0000-0002-6552-2833'
  - given-names: Mikael
    family-names: Simberg
    orcid: 'https://orcid.org/0000-0002-7238-8935'
  - given-names: Rocco
    family-names: Meli
    orcid: 'https://orcid.org/0000-0002-2845-3410'
  - given-names: Guglielmo
    family-names: Gagliardi
  - given-names: Andreas
    family-names: Fink
  - given-names: Teodor
    family-names: Nikolov
  - given-names: Harmen
    family-names: Stoppels
  - given-names: Lara
    family-names: Querciagrossa
  - given-names: Alo
    family-names: Roosing
  - given-names: Alessandro
    family-names: Colombo
    orcid: 'https://orcid.org/0000-0002-7950-293X'
identifiers:
  - type: doi
    value: 10.5281/zenodo.10518288
    description: The concept DOI of the work.
repository-code: 'https://github.com/eth-cscs/DLA-Future'
abstract: Distributed Linear Algebra from the Future
keywords:
  - c++
  - eigensolver
  - "generalized eigensolver"
  - "high performance computing"
  - "linear algebra"
  - mpi
license: BSD-3-Clause
license-url: https://opensource.org/license/bsd-3-clause
version: 0.10.0
date-released: '2025-05-15'

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 117
  • Total pull requests: 340
  • Average time to close issues: 7 months
  • Average time to close pull requests: 24 days
  • Total issue authors: 7
  • Total pull request authors: 10
  • Average comments per issue: 0.62
  • Average comments per pull request: 3.36
  • Merged pull requests: 266
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 17
  • Pull requests: 148
  • Average time to close issues: 20 days
  • Average time to close pull requests: 8 days
  • Issue authors: 5
  • Pull request authors: 7
  • Average comments per issue: 0.82
  • Average comments per pull request: 3.33
  • Merged pull requests: 109
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • rasolca (49)
  • albestro (40)
  • msimberg (24)
  • Beliavsky (1)
  • Schroedingers0216 (1)
  • aurianer (1)
  • RMeli (1)
Pull Request Authors
  • msimberg (113)
  • rasolca (92)
  • albestro (77)
  • RMeli (35)
  • teonnik (7)
  • aurianer (4)
  • biddisco (4)
  • Sely85 (3)
  • gulivarese (3)
  • dependabot[bot] (2)
Top Labels
Issue Labels
TODO:Task (73) Type:Refactoring (19) Priority:Low (19) Type:Bug (17) Priority:Medium (16) Type:New Feature (14) Type:Optimization (14) Priority:High (14) Category:CI (11) Type:Cleanup (3) TODO:Epic (3) Category:Documentation (3) Priority:Urgent (2) TODO: good first task (2) Type:Performance issue (2) Type:Test issue (2) Type:Problem (2) team:help wanted (1) not planned (1) Type:Memory issue (1) Type:Release (1)
Pull Request Labels
Priority:High (51) Type:Optimization (43) Priority:Low (25) Category:CI (23) Type:Cleanup (22) Priority:Medium (19) Type:Release (14) Type:New Feature (14) Type:Refactoring (11) Type:Bug (8) Type:Problem (8) Category:Documentation (7) RTMWTP (7) Priority:Urgent (7) Type:Performance issue (4) Type:Test issue (3) Priority:on hold (2) dependencies (2) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 0
  • Total maintainers: 5
spack.io: dla-future

DLA-Future library: Distributed Linear Algebra with Future

  • Versions: 0
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 29.0%
Dependent packages count: 57.9%
Last synced: 4 months ago

Dependencies

scripts/requirements.txt pypi
  • matplotlib *
  • numpy *
  • pandas *
  • parse *
  • seaborne *
.github/workflows/check_format.yml actions
  • actions/checkout v3 composite
  • actions/javascript-action v1 composite
.github/workflows/check_license_header.yaml actions
  • actions/checkout v3 composite
  • actions/javascript-action v1 composite
.github/workflows/doc-push.yml actions
  • actions/checkout v3 composite
.github/workflows/doc.yml actions
  • actions/checkout v3 composite