CodeFest 5 - lattice/quda GitHub Wiki

CodeFest V

Location: FermiLab Date: June 27th-29th

Possible Topics

QUDA 0.8 branch merging

  • There are a number of outstanding branches that need to be merged into develop for the 0.8 release. Ensuring these are done should be a high-priority task for the meeting.
  • Once this is done, we should target getting 0.8 out the door, and merge the multigrid branch into develop.

Multi-src solvers

  • Between use, we could hammer out a multi-src solver interface, associated dslash operators and hook this into the deflation algorithms.
  • Define an interface for this. This is easy to prototype with a serial loop over calls to invertQuda
  • What might we want to support in the future (deflation / mg / simple 5-d solver / block solver)?

MILC

  • There is huge scope for large speed ups in MILC HMC. A factor of 2 over the current implementation is likely achievable by removing unnecessary PCIe traffic and using gauge field compression in the solver.
  • Merge in the MILC profiling branch intro develop
  • Enabled automated build testing for MILC - setting Makefile variables through environment variables
  • Test the feature/clover-force branch with MILC RHMC
  • Interface cleanup and expose feature
  • use reconstruction by default or tune ?
  • cleanup HISQ force (number of kernels)

Automated testing

  • using google test for all tests
  • setting up a build server (Jenkins ?)

Build system

  • switch to cmake (y)
  • add a build dir option
  • use auto-generated dependencies
  • other ways to improve build time
  • hierarchical directories
  • more separation of files for faster builds (reduce_quda.cu)

QUDA development model

  • feedback on the current model
  • QUDA calls

Gauge Fixing branch

  • Top priority to get this merged into develop
  • Does ARM-32 build problem arise with QUDA in 32-bit mode on x86?
  • Merge of plaquette codes
  • Google Test for gauge fixing and evolution test

Future Topics

S-step solvers

  • With Justin gone, this is suffering from code rot

Clover Optimization

  • Optimization of clover term reading in the asym_dslash

Clean up

  • gauge force, fat link, HISQ force etc. need to be rewritten using gauge::accessors
  • QUDA matrix class should use quda::complex
  • remove invertMDQuda
⚠️ **GitHub.com Fallback** ⚠️