Skip to content
Roman Gruber edited this page Feb 27, 2024 · 148 revisions

Building QUDA

The following pages give information on QUDA's build system and dependencies

Multi-GPU QUDA

These pages give information on how to build QUDA using MPI, including some machine-specific instructions

QUDA Solver Acceleration Strategies

QUDA has several features one can take advantage of to accelerate operator inversion. We list here some of the algorithms currently available.

QUDA also offers the option to use mixed precision in its solvers Mixed Precision

QUDA Gauge Algorithms and Utilities

QUDA offers a variety of pure SU(3) gauge algorithms and utilities that are needed for LQCD studies.

Using QUDA In Your LQCD applications

QUDA Development

Contributing to QUDA

Resources

Projects in development

These projects have branches associated with them, but have not yet made been pulled into mainline QUDA (develop branch). Some projects are in a useful state, others are in early stages. We list here some of the more prominent

Case Studies: Pedagogical Instructions On Using Some of QUDA's Key Features

Below we have included some important case studies, designed to be guides on how to get the most out of QUDA solvers for different use cases in modern LQCD.

  • Clover HMC evolution with multigrid Here we use the Multigrid solver to accelerate inversions during the HMC evolution. As the HMC algorithm evolves the operator, the Multigrid preconditioner loses coherence with the target. We demonstrate here how to set up a multigrid preconditioner to accelerate solves, show the operator decohereing, and how to tune the parameters to minimise this decoherence.

  • Twisted clover deflated multigrid Here we recognise that the Twisted-clover operator is pathologically ill conditioned, to the extent that even with an aggressive three level multgrid solve, these low eigenmodes remain on the coarse grid. Previous attempts to avoid these low modes involved artificially adjusting the coarse grid operator to have a large value on mu, known colloquially as mu scaling. In this case study we demonstrate that one can avoid mu scaling completely by explicitly deflating the offending low modes on the coarse grid, and thence acquire significant speed up over the previous method.

  • Persistent deflation spaces for multi-mass/flavor problems In this case study we show how one can use the deflated multigrid solver (as expounded on in the Twisted-clover deflated multigrid study) for one mass/flavour of quark, keep the eigenvectors used in deflation, and recompute the eigenvalues for different masses. This gives significant speed-up over recomputing the multigrid preconditioner for each mass/flavor.

  • HISQ mixed-precision deflation

  • Möbius minimal-memory deflation Here we show a simple, yet powerful trick to minimise the amount of device memory needed to perform deflation of the Möbius operator when using the Thick Restarted eigensolver. We employ an LU decomposition of the dense rotation matrix used in the Krlyov space compression to break up the rotation into small chunks. This reduction allows for an approximately 50% reduction in the partition size needed for a given problem with very little degradation of performance.

  • The-Exact-One-Flavor-Algorithm (EOFA)

  • Multi-Splitting Preconditioned CG A proper additive Schwarz preconditioner for Mobius fermions.

Miscellaneous features

QUDA calls

CodeFests

*CodeFest 5

*CodeFest Jlab January 2018

New Interface Planning

Miscellaneous

Clone this wiki locally