OpenPME: Open Particle Mesh Environment for Systems Biology
Software Engineering and Programming Languages
Final Report Abstract
Parallel high-performance computing (HPC) is essential to study scientific models of complex real-world phenomena, to accurately predict their behavior and reaction to perturbations, and analyze large data sets of realworld experiments. Particularly challenging applications of this kind arise from the field of systems biology, where complex models of cells and systems of cells are simulated in order to reverse-engineer biological mechanisms. The process of modeling and simulation is driven by high-resolution 3D microscopy images, which also need to be processed in real time. Modeling, simulation, and data analysis hence critically depend on effective use of HPC platforms. Developing robust and versatile numerical methods that run efficiently on parallel HPC hardware, however, is a challenging, error-prone, and time-consuming task. Developers need to understand the problem domain at hand, the mathematical models, as well as the impact of algorithmic specifications on the underlying system architecture and performance. Rarely, all of these intricacies can be dealt with in a given project, hence defining a knowledge gap between the application and the HPC system. In this project, we narrowed the gap between a high-level problem description and the final HPC code by introducing transparent layers of abstraction, consisting of: a domain-specific language, a compiler, an adaptive runtime system, and a development environment. We focus on generic particle-mesh methods as the numerical simulation framework, because they can simulate both discrete and continuous models, as demonstrated in the benchmark applications considered. We created the first semantic description of particle-mesh algorithms and derived a formal domain-specific language from it. Around this language, we designed a tool-flow and integrated development environment that provides instant user feedback and support for interactive debugging. Our runtime system is based on the OpenFPM library for particle-mesh methods. The development of OpenFPM was actively furthered and inspired by this project. Combining domain knowledge and runtime monitoring, we developed static and dynamic optimizations at the language level, at runtime, and in algorithmic autotuning. To assess our language and optimizations, three driver applications from computational biology that pose outstanding problems were implemented and evaluated in terms of runtime performance, scalability, and developer productivity.
Publications
- “A Domain-Specific Language and Editor for Parallel Particle Methods”. In: ACM Transactions on Mathematical Software (TOMS) 44.3 (Mar. 2018), 34:1–34:32
S. Karol, T. Nett, J. Castrillon, and I. F. Sbalzarini
(See online at https://doi.org/10.1145/3175659) - “OpenFPM: A scalable open framework for particle and particlemesh codes on parallel computers”. In: Comput. Phys. Commun. 241 (2019), pp. 155–177
P. Incardona, A. Leo, Y. Zaluzhnyi, R. Ramaswamy, and I. F. Sbalzarini
(See online at https://doi.org/10.1016/j.cpc.2019.03.007) - “A C++ expression system for partial differential equations enables generic simulations of biological hydrodynamics”. In: Eur. Phys. J. E 44 (2021), p. 117
A. Singh, P. Incardona, and I. F. Sbalzarini
(See online at https://doi.org/10.1140/epje/s10189-021-00121-x) - “Distributed Sparse Block Grids on GPUs”. In: Proc. International Conference on High Performance Computing (ISC). Vol. 12728. Lecture Notes in Computer Science. Cham, Switzerland: Springer, 2021, pp. 272–290
P. Incardona, T. Bianucci, and I. F. Sbalzarini
(See online at https://doi.org/10.1007/978-3-030-78713-4_15) - “Model-based Autotuning of Discretization Methods in Numerical Simulations of Partial Differential Equations”. In: Journal of Computational Science 57 (Dec. 2021), pp. 1–11
N. Khouzami, F. Michel, P. Incardona, J. Castrillon, and I. F. Sbalzarini
(See online at https://doi.org/10.1016/j.jocs.2021.101489) - “The OpenPME Problem Solving Environment for Numerical Simulations”. In: International Conference on Computational Science (ICCS’21). Ed. by M. Paszynski et al. Springer. Krakow (virtual), Poland: Springer International Publishing, June 2021, pp. 614–627
N. Khouzami, L. Schütze, P. Incardona, et al.
(See online at https://doi.org/10.1007/978-3-030-77961-0_49)