Tier 2 Code Development Project
The Green’s Function Monte Carlo (GFMC) code provides ab initio calculations of properties of light nuclei by solving the many-body Schrödinger equation using realistic two- and three-nucleon interactions.
GFMC relies on two libraries, ADLB and DMEM, which are written in extremely conservative C. ADLB manages work sharing without the bottleneck of a single master controller, and DMEM is a simple distributed-memory management system tuned to relieve ADLB of managing large data objects. DMEM relies on MPI for interaddress space communication. The researchers use OpenMP to parallelize their Fortran code across cores within an MPI rank and to take advantage of hyperthreading within cores.
- Single-core performance: carry out repetitive matrix-vector operations in MCDRAM. With up to 16 GB MCDRAM, Theta nodes should accommodate enough copies of the vectors.
- Take advantage of MPI-3 functions that allow distinct MPI processes (ranks) to efficiently share memory on a node.
ADLB and DMEM are written in extremely conservative C and developed locally by project team members, who will port them to new machines as needed. If later versions of OpenMP include support for accelerators, it will increase portability to the GPU-based machines at other sites.