(683g) Runtime Code Generation for User-Configurable Metropolis Monte Carlo Energy Evaluation in HOOMD-Blue
AIChE Annual Meeting
Thursday, November 1, 2018 - 2:30pm to 2:45pm
We have developed a module for HOOMD-blue for that enables parallel Metropolis Monte Carlo (MC) simulations of hard particle cores with user-defined pairwise energetic interactions. Previously, HOOMD-blueâs Monte Carlo capabilities were limited to hard particle interactions alone. The new module uses the low level virtual machine (LLVM) and the open-source Clang compiler to compile user-provided C++ code down to efficient machine code at run time. Users can express any pairwise interaction potential that is a function of the relative particle positions, and the orientations, types, diameters, and charges of the two particles. The code is compiled at runtime, so new models can quickly be developed and tested with no need to write multiple source files, user interfaces, documentation, or recompile and install a plugin each time a change is made. The user-provided energy evaluation is evaluated in HOOMD-blueâs existing optimized parallel MC engine, enabling high performance simulation execution. We also implemented the geometric cluster algorithm of J. Liu and E. Luijten , and an efficient code path for evaluating the pairwise energy between two rigid bodies built of many interaction sites with user-defined energies evaluated between all pairs of interaction sites within a cutoff. These capabilities are available in HOOMD-blue open source v2.3+.
: J. Liu and E. Luijten, Phys. Rev. Lett. 92, 035504 (2004).