It has been almost a year since QUDA 0.4.0 was released, and many new features have been added in the interim, including multi-GPU domain wall support, much improved mixed-precision CG and multi-shift CG solvers and general library improvements. Please
report any issues at
http://github.com/lattice/quda/issues (requires a GitHub account) or by emailing
quda-de...@googlegroups.com.
Enjoy!
QUDA: A library for QCD on GPUs
QUDA is a library for performing calculations in lattice QCD on graphics processing units (GPUs), leveraging NVIDIA's CUDA platform. The current release includes optimized Dirac operators and solvers for the following fermion actions:
- Wilson
- Clover-improved Wilson
- Twisted mass
- Improved staggered (asqtad or HISQ)
- Domain wall
Implementations of CG, multi-shift CG, BiCGstab, and DD-preconditioned GCR are provided, including robust mixed-precision variants supporting combinations of double, single, and half (16-bit "block floating point") precision. The library also includes routines
for HISQ link fattening and force terms for the HISQ fermion action and one-loop improved Symanzik gauge action. Use of many GPUs in parallel is supported throughout, with communication handled by QMP or MPI.
Several commonly-used packages integrate support for QUDA as a compile-time option, including
Chroma,
MILC, CPS, and
BQCD (in a specific branch available
here).