Project Details
FMhub - A Fast Multipole Solver Hub for the Scientific Community
Applicants
Dr. Ivo Kabadshow; Professor Dr.-Ing. Matthias Werner
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
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