Project Details
Projekt Print View

FMhub - A Fast Multipole Solver Hub for the Scientific Community

Subject Area Security and Dependability, Operating-, Communication- and Distributed Systems
Computer Architecture, Embedded and Massively Parallel Systems
Software Engineering and Programming Languages
Statistical Physics, Nonlinear Dynamics, Complex Systems, Soft and Fluid Matter, Biological Physics
Term since 2021
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 443189148
 
Computer simulations have become the third pillar of science and bridge the gap between theory and experiment. Since the performance of such simulations nowadays does originate from increased parallelism instead of increased clock frequency a sustainable software design is required. However, there still exist parts of the simulation code that are more costly than others. The most expensive part of molecular simulations is the computation of all pairwise electrostatic interactions. Thus, the efficient calculation of these Coulomb interactions is decisive for the whole simulation. In the last decades several large simulation packages (eg. GROMACS, DL_POLY, LAMMPS) have been developed. Thousands of users rely on a precise and efficient computation of the Coulomb forces within these codes. However, the rapid increase of diverse and hierarchically parallel hardware as well as the advent of accelerators (e.g. GPUs) make it harder for the maintainer of such simulation codes to retain flexibility and high performance for all parts of the codes. In recent years, many communities therefore parted from the monolithic application approach and moved towards a collection of highly specialized components. Subproblems have been outsourced to specialized libraries with a well-defined interface. In this project, we aim to provide an open-source fast multipole method (FMM) for the scientific community as a flexible C++ library called FMSolvr to compute long-range interactions. Therefore, we will decouple components of FMSolvr from its current application to support a broader range of molecular simulation codes. The code will be made available together with community-building tools such as version control, a bugtracker, continuous integration and deployment tools as well as sound documentation to allow other external users an easy adoption to their code. To guarantee interoperability with some of these applications we provide additional high level interfaces. Besides addressing the direct link between our FMSolvr library and the target application, we will also adopt the interfaces from the already available ScaFaCoS (Scalable Fast Coulomb Solvers) library. Hence, codes supporting the ScaFaCoS interface can immediately use our library as a plugin replacement. In contrast to the high level modifications we will also address the parallelization layer of FMSolvr. By decoupling three integral parts (intracore, intranode, internode parallelism) we aim at increasing maintainability and portability. The separation of these parallelization layers will allow us to exchange parallelization strategies arising in the future, e.g. different vectorization libraries or tasking frameworks. This modularization also aims at increasing the decoupling of algorithmic components within the library to increase flexibility.
DFG Programme Research Grants
Co-Investigator Dr. Holger Dachsel
 
 

Additional Information

Textvergrößerung und Kontrastanpassung