lattice/quda

QUDA is a library for performing calculations in lattice QCD on GPUs.

What it solves

QUDA is designed to accelerate calculations in lattice Quantum Chromodynamics (QCD) by leveraging the parallel processing power of NVIDIA GPUs. It provides highly optimized operators and solvers for various fermion actions, reducing the computational burden of simulating physics simulations of the strong force.

How it works

The library uses the CUDA platform to implement optimized Dirac operators and a variety of solvers (such as CG, BiCGStab, and GCR). It supports mixed-precision arithmetic, utilizing double, single, half, and quarter precision (8-bit block floating point) to maximize performance. To optimize execution, it employs an auto-tuning process that selects the best launch parameters for performance-critical kernels and caches them to disk.

Who it’s for

Physicists and researchers in the field of lattice QCD who need to perform high-performance computing (HPC) simulations on NVIDIA GPU clusters.

Highlights

  • Broad Fermion Support: Supports Wilson, Clover-improved, Twisted mass, Staggered, Domain wall, and Möbius fermions.
  • Advanced Solvers: Includes adaptive multigrid, eigen-vector deflation solvers (TRLM), and Implicitly Restarted Arnoldi for spectra observation.
  • Multi-GPU Scaling: Supports parallel execution across many GPUs using MPI, QMP, or NVSHMEM for improved strong scaling.
  • Mixed Precision: Robust support for mixed-precision variants to speed up calculations.
  • Auto-Tuning: Automatically selects and caches optimal kernel parameters based on the hardware used.

Related

  • Project
  • Project
  • Project
  • Project
  • Project