HPDDM

HPDDM is an efficient implementation of various domain decomposition methods (DDM) such as one- and two-level Restricted Additive Schwarz (RAS) methods, the Finite Element Tearing and Interconnecting (FETI) method, and the Balancing Domain Decomposition (BDD) method. These methods can be enhanced with deflation vectors computed automatically by the framework.

Overview

License

OSS

LGPL v*

Discussion

GitHub Issues (github.com/hpddm/hpddm/issues)__

1. Criteria Evaluation

1.1. Packaging

Software should be packaged (preferably using Spack or Guix package formats) and published in public repositories.

1.2. Testing & CI/CD

Software should include validation tests triggered through automated mechanisms.

  • Unit tests exist

  • Continuous Integration configured

  • CI runs on each release

  • Benchmarking tests exist

1.3. Repository & Contributions

  • Public source repository available

  • Supports contributions via pull requests

1.4. License

Sources should be published under a clearly-identified free software license.

  • License clearly stated

  • FLOSS license (FSF/OSI conformant)

  • SPDX identifiers used

  • REUSE compliant

  • LGPL v*

1.5. Documentation

  • Documentation exists

  • Easily browsable online

1.6. API Compatibility

  • API changes documented

  • Semantic versioning used

  • Release policy defined

2. Work Packages

This framework is involved in the following work packages:

2.1. WP3

Topics: domain decomposition methods, multi-precision, tensor calculus, "reuse of Krylov subspaces for multiple right-hand sides", randomization, low-rank, interface Benchmarked in this WP

3. Technical Details

Languages: C, C++, Fortran, Python

Parallelism: MPI, Multithread - OpenMP, GPU - Cuda

Data Formats: in-house format

4. Partners

Lead Partner: Sorbonne U, Inria PARIS

5. Used by Applications

The following Exa-MA applications use HPDDM:

Application Type Status

Preconditioning systems arising from discrete fracture networks

Mini App

Benchmark Ready