How Our Work Fits Together

We design numerical algorithms and high-performance software that let scientific applications make full use of modern supercomputers, from the mathematics of sparse linear algebra to production code that runs portably on CPUs and GPUs from every major vendor.

Applicationswhat we accelerate
  • Cardiac electrophysiology
  • Climate & weather
  • Fluid dynamics
  • Fusion plasma
  • Power grids
  • Chemistry
Numerical methodswhat we develop
  • Sparse kernels
  • Krylov solvers
  • Preconditioners
  • Multigrid
  • Mixed precision
  • Randomized methods
  • Batched & asynchronous methods
Research softwarewhat we build and contribute to
  • Ginkgo
  • pyGinkgo
  • NeoN
  • NeoFOAM
  • OGL
  • ICON
Hardwarewhere it runs
  • Multicore CPUs
  • RISC-V
  • NVIDIA GPUs
  • AMD GPUs
  • Intel GPUs
  • Multi-GPU & multi-node clusters

Research Themes

Sparse matrix-vector product: the nonzeros of A are split evenly across three GPU warps, so long rows are shared between warps × = sparse matrix A x y warp 1 warp 2 warp 3 same number of nonzeros per warp

Sparse kernels on modern hardware

Sparse operations such as the sparse matrix-vector product (SpMV) are the building blocks of most simulations, and their speed is limited by memory bandwidth and load imbalance. We design balanced, compressed storage formats and kernels, and evaluate how emerging CPU and GPU architectures change the picture for sparse linear algebra.

Selected papers

Residual over iterations: with a preconditioner the solver reaches the tolerance after far fewer iterations than without residual (log) iterations tolerance no preconditioner with preconditioner

Iterative solvers & preconditioners

Krylov methods solve large sparse systems iteratively, and a good preconditioner can cut the number of iterations by orders of magnitude. We develop preconditioners that run well in parallel: threshold ILU, sparse approximate inverses, multigrid and domain decomposition.

Selected papers

Mixed precision: data is stored in 16- or 32-bit or compressed formats and converted to 64-bit for the arithmetic, so less data is moved without losing accuracy fp64 · 64 bit fp32 · 32 bit fp16 · 16 bit store compact fp16 · fp32 convert compute accurate fp64 arithmetic fewer bytes moved, same final accuracy

Mixed precision & compression

Moving data costs more than computing with it. We store data in lower-precision or compressed formats while keeping the arithmetic, and the final accuracy, in high precision: from memory accessors and compressed Krylov bases to three-precision multigrid and randomized sketching in low precision.

Selected papers

Batched solvers: thousands of small independent linear systems are solved together in a single GPU kernel launch, one system per thread block one launch thousands of small, independent systems GPU one system per block

Batched solvers

Many applications must solve thousands of small, independent linear systems at once, for example one per grid cell or mesh node. Our batched solvers and preconditioners handle all of them in a single GPU kernel, portably across GPU vendors.

Selected papers

Synchronous versus asynchronous iterations for three processes: synchronous processes idle at every barrier, asynchronous ones keep computing with the newest data synchronous asynchronous P1 P1 P2 P2 P3 P3 waits at every barrier no waiting, more updates work idle barrier

Asynchronous & multi-GPU methods

Global synchronization becomes a bottleneck at scale. Asynchronous iterative methods let every processor continue with the newest data available instead of waiting for the others. We implement them on GPUs and multi-GPU clusters and model how they converge.

Selected papers

Applications

Our methods and software are used in, and shaped by, simulations across science and engineering.

Cardiac electrophysiology

Scalable solvers and preconditioners for whole-heart simulations with sub-cellular resolution.

Climate & weather

Faster, higher-resolution runs of the ICON climate model on GPU supercomputers.

Computational fluid dynamics

Platform-portable linear algebra backends for OpenFOAM and nekRS, and the NeoN CFD core.

Fusion plasma

Batched GPU solvers for the collision operator in fusion plasma simulations.

Power grids

GPU-resident sparse direct solvers for AC optimal power flow analysis.

Computational chemistry

Batched sparse iterative solvers for the many small linear systems in chemistry simulations.

Research Software

We are committed to building high-performance open-source software.

Some research software that we actively develop are:

Ginkgo

Ginkgo is a high-performance sparse linear algebra library for many-core systems. A single interface targets CUDA, HIP, SYCL and OpenMP, with composable Krylov solvers and preconditioners, plus distributed and batched functionality.

ICON

ICON is a flexible, scalable, high-performance modelling framework for weather, climate and environmental prediction, available under the open-source BSD-3 licence. We contribute to ICON within the WarmWorld project.

NeoFOAM

A performance-portable finite-volume CFD framework built on NeoN, with OpenFOAM-equivalent solvers that run on CPUs and on NVIDIA, AMD and Intel GPUs.

NeoN

NeoN is an open-source C++ library that provides the data structures, parallel algorithms and numerical infrastructure for finite-volume CFD on modern heterogeneous systems. Built on Kokkos and Ginkgo, it lets developers write fluid-flow solvers once and run them on CPUs, MPI clusters and NVIDIA, AMD and Intel GPUs.

OGL

The OpenFOAM Ginkgo Layer: brings Ginkgo's GPU-accelerated solvers and preconditioners to OpenFOAM.

pyGinkgo

pyGinkgo is a lightweight, Pythonic interface to the Ginkgo library, bringing high-performance sparse linear algebra to Python on CUDA, HIP, and OpenMP backends with a NumPy- and PyTorch-compatible interface.

Funded Projects

Our research is supported by various national and international funding agencies.

Active Projects

MICROCARD-2

MICROCARD builds software that can simulate cardiac electrophysiology using whole-heart models with sub-cellular resolution, on exascale supercomputers. We are part of work-package 2, which aims to deliver efficient large-scale distributed preconditioners and solvers.

WarmWorld

WarmWorld advances ICON, a globally coupled, convection-resolving climate model, towards faster runs on finer grids, so that processes such as cloud formation and eddies can be resolved directly.

Previous Projects

Completed projects that shaped our research and software.

Exascale Computing Project (ECP)

The US Exascale Computing Project delivered applications, an integrated software stack and hardware advances for the first exascale supercomputers. Ginkgo was developed as one of ECP's math libraries, providing portable sparse linear algebra to ECP science applications.

Funded by: US DOE Office of Science, NNSA

Duration: 2016 – 2024

MICROCARD-1

MICROCARD developed an exascale application platform for cardiac electrophysiology simulations at the cellular scale, moving from continuum models to cell-by-cell representations of the heart. We contributed scalable solvers and preconditioners for the resulting large linear systems.

Funded by: EuroHPC JU (Horizon 2020), BMBF

Duration: April 2021 – September 2024