3 ms·
I’m a LQCD practitioner. There are a variety of open-source implementations; I’ll just point to a few. The one funded by the Department of Energy through the
by evanb 5y ago
I’m a LQCD practitioner.
There are a variety of open-source implementations; I’ll just point to a few. The one funded by the Department of Energy through the SciDAC program is the USQCD software stack [0]. There’s also the GPU library quda, which is maintained by Nvidia employees (and others in the community). There’s Grid [2], development led by Edinburgh in close collaboration with intel (to make sure it compiles down to sensible high-performance primatives). There’s openQCD [3], coordinated by CERN researchers.
As to whether it’ll be readable to you—-maybe? How transparent each library is differs. The most important parts are typically (1) the generation of gauge configurations (typically by HMC, which was discovered by the LQCD community [4]), which are MCMC samples and (2) the calculation of observable on each sample. Both rely on highly optimized (and preconditioned, and maybe multigrid-ed) linear solves—-the most important kernel.
Some libraries are written to be as transparent as possible; some to be as portable as possible. All are written to handle massive data parallelism across hundreds of high-performance nodes with some mixture of OpenMP, MPI, #pragma acceleration, etc.
Finally, the code will only “make (big picture) sense” to you if you understand lattice quantum field theory.
[0] http://usqcd-software.github.io/ http://usqcd-software.github.io/
[1] http://lattice.github.io/quda/ http://lattice.github.io/quda/
[2] https://github.com/paboyle/Grid https://github.com/paboyle/Grid
[3] https://luscher.web.cern.ch/luscher/openQCD/ https://luscher.web.cern.ch/luscher/openQCD/
[4] https://www.sciencedirect.com/science/article/abs/pii/037026938791197X https://www.sciencedirect.com/science/article/abs/pii/037026...