On modern supercomputers, asynchronous many task systems are emerging to address the new architecture of computational nodes. Through this shift of increasing cores per node, a new programming model with focus on handling of the fine-grain parallelism with increasing amount of cores per computational node is needed. Asynchronous Many Task (AMT) run time systems represent a paradigm for addressing the fine-grain parallelism. They handle the increasing amount of threads per node and concurrency. HPX, a open source C++ standard library for parallelism and concurrency, is one AMT which is conforming to the C++ standard. Motivated by the impressive performance of asynchronous task-based parallelism through HPX to N-body problem and astrophysics simulation, in this work, we consider its application to the Peridynamics theory. Peridynamics is a non-local generalization of continuum mechanics tailored to address discontinuous displacement fields arising in fracture mechanics. Peridynamics requires considerable computing resources, owing to its non-local nature of formulation, offering a scope for improved computing performance via asynchronous task-based parallelism. Our results show that HPX-based peridynamic computation is scalable, and the scalability is in agreement with the theory. In addition to the scalability, we also show the validation results and the mesh convergence results. For the validation, we consider implicit time integration and compare the result with the classical continuum mechanics (CCM) (peridynamics under small deformation should give similar results as CCM). For the mesh convergence, we consider explicit time integration and show that the results are in agreement with theoretical claims in previous works.
An asynchronous and task-based implementation of peridynamics utilizing HPX—the C++ standard library for parallelism and concurrency
1. An asynchronous and task-based implementation of
peridynamics utilizing HPX—the C++ standard library
for parallelism and concurrency
Patrick Diehl
Thanks to Prashant Jha, who contributed to the code during his Postdoc at LSU.
LSU Center of Computation & Technology
pdiehl@cct.lsu.edu
December 1, 2021
P. Diehl (CCT/LSU) NLMech December 1, 2021 1 / 17
2. Motivation
Computer science aspects:
Asynchronous many-task
systems
Peridynamic aspects:
Bond-based and state-based
softening model
Explicit derivation of the
tangent stiffness matrix
P. Diehl (CCT/LSU) NLMech December 1, 2021 2 / 17
3. Overview
1 General information
2 Computer science aspects
3 Computational engineering aspects
4 Applications
5 Conclusion and Outlook
P. Diehl (CCT/LSU) NLMech December 1, 2021 3 / 17
5. General information
Code’s logo
Open Source
Modern C++
Boost license
Available on GitHub1
Intensive documentation2
Docker image for testing the code3
References
Diehl, Patrick, et al. ”An asynchronous and task-based implementation of peridynamics utilizing HPX—the C++
standard library for parallelism and concurrency.” SN Applied Sciences 2.12 (2020): 1-21.
Jha, Prashant K., and Patrick Diehl. ”NLMech: Implementation of finite difference/meshfree discretization of nonlocal
fracture models.” Journal of Open Source Software 6.65 (2021): 3020.
1
https://github.com/nonlocalmodels/NLMech
2
https://hub.docker.com/r/diehlpk/nlmech/tags?page=1&ordering=last_updated
3
https://nonlocalmodels.github.io/documentation/
P. Diehl (CCT/LSU) NLMech December 1, 2021 5 / 17
7. HPX
HPX is a open source C++ Standard Library for Concurrency and
Parallelism1.
Features
HPX exposes a uniform, standards-oriented API for ease of
programming parallel and distributed applications.
HPX provides unified syntax and semantics for local and remote
operations.
HPX exposes a uniform, flexible, and extendable performance counter
framework which can enable runtime adaptivity.
References
Kaiser, Hartmut, et al. ”Hpx-the c++ standard library for parallelism and concurrency.” Journal of Open Source
Software 5.53 (2020): 2352.
1
https://github.com/STEllAR-GROUP/hpx
P. Diehl (CCT/LSU) NLMech December 1, 2021 7 / 17
8. Synchronous vs asynchronous communication
Reference
Daiß, Gregor, et al. ”From piz daint to the stars: Simulation of stellar mergers using high-level abstractions.”
Proceedings of the international conference for high performance computing, networking, storage and analysis. 2019.
P. Diehl (CCT/LSU) NLMech December 1, 2021 8 / 17
9. Load balancing for distributed nonlocal models
Reference
P. Gadikar, P. Diehl and P. Jha, ”Load balancing for distributed nonlocal models within asynchronous many-task
systems,” in 2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Portland,
OR, USA, 2021 pp. 669-678. doi: 10.1109/IPDPSW52791.2021.00103
P. Diehl (CCT/LSU) NLMech December 1, 2021 9 / 17
11. Softening model
Reference
R. Lipton, E. Said, P. K. Jha, Dynamic brittle fracture from nonlocal double-well potentials: A state-based model,
Handbook of Nonlocal Continuum Mechanics for Materials and Structures (2018) 1–27
P. Diehl (CCT/LSU) NLMech December 1, 2021 11 / 17
12. Analytic stiffness matrix
Reference
Diehl, P., & Lipton, R. (2021, September 30). Quasistatic Fracture using Nonlinear-Nonlocal Elastostatics with Explicit
Tangent Stiffness Matrix. https://doi.org/10.31224/osf.io/3je6b
P. Diehl (CCT/LSU) NLMech December 1, 2021 12 / 17
13. Coupling with partition of unity methods
Reference
Birner, Matthias, et al. ”A Fracture Multiscale Model for Peridynamic enrichment within the Partition of Unity Method:
Part I.” arXiv preprint arXiv:2108.02336 (2021).
P. Diehl (CCT/LSU) NLMech December 1, 2021 13 / 17
15. Applications
Lipton RP, Lehoucq RB, Jha PK. “Complex fracture nucleation and
evolution with nonlocal elastodynamics”. Journal of Peridynamics and
Nonlocal Modeling
Lipton RP, Said E, Jha PK.”Free damage propagation with memory”.
Journal of Elasticity, 14 March 2018, 133(2), 129-153
Jha PK, Lipton RP. Kinetic relations and local energy balance for
LEFM from a nonlocal peridynamic model. International Journal of
Fracture. 2020
P. Diehl (CCT/LSU) NLMech December 1, 2021 15 / 17
17. Conclusion and Outlook
Conclusion
Usage of asynchronous many-task systems and Modern C++.
Implementation of the softening model.
Outlook
Improve the distributed implementation
Add the explicit stiffness matrix.
Automate the coupling with the partition of unity method.
Thanks for your attention!
Questions?
P. Diehl (CCT/LSU) NLMech December 1, 2021 17 / 17