FUnTiDES

FUnTiDES (Fast Unstructured Time Dynamic Equation Solver) is a high-performance library and collection of proxy applications for 2D/3D acoustic and elastic wave propagation using high-order spectral element methods (SEM) and Discontinuous Galerkin (DG, only for acoustics for now). Its C17 backend uses Kokkos for CPU/GPU portability, with MPI support and Python bindings via pybind11. It provides unit tests, analytical validation cases, and C/Python performance benchmarks.

1. Exascale Bottlenecks Addressed

B7 Exascale algorithms

2. Criteria Evaluation

2.1. Packaging

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

  • Packages exist

  • Available in Spack

  • Available in Guix-HPC

  • Docker image available

  • Apptainer/Singularity available

2.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

2.3. Repository & Contributions

  • Public source repository available

  • Supports contributions via pull requests

2.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

  • OSS: Cecill-*

2.5. Documentation

  • Documentation exists

  • Easily browsable online

2.6. API Compatibility

  • API changes documented

  • Semantic versioning used

  • Release policy defined

3. Work Packages

This framework is involved in the following work packages:

3.1. WP1

Topics: finite element, spectral element, unstructured mesh, dG/hdG

3.2. WP7

Topics: Geophysics, proxy-apps

4. Technical Details

Languages: C++17, Python

Parallelism: MPI, Multithread - OpenMP, GPU - Cuda, Kokkos

Data Formats: Adios, Json, YAML, ASCII

5. Partners

Lead Partner: Inria BXSO