I'm Sharon, a CS undergraduate from Hong Kong. I'm interested in the project -
Domain decomposition and load balancing for crack and fracture mechanics code.
I'd like to understand the domain decomposition part more first.
I looked at Patrick Diehl's thesis related to simulation for peridynamics in
brittle materials (hss.ulb.uni-bonn.de/2017/4631/4631.pdf), which I believe
discusses the code to be extended. From my understanding, the modeling method
in the paper relies heavily on fast neighbor search on GPU. First it maps all
the spatial points of a material with a key, and then find the nearest
neighbors of all points with respect to the sorted keys. In the implementation,
HPXCL-CUDA was used to utilize GPU clusters. If I'm right, during execution
each GPU is allocated with a chunk from a single memory address space, running
In the project we're going to implement it on distributed memory. My rough idea
is to extend all the four steps in neighbor search one by one, namely:
1. generating keys;
2. sorting keys;
3. range scan;
4. geometrical validation.
My questions are, is the original code available to look at? Are there any HPX
libraries to handle data distribution so that we do not use other message
passing libraries? I looked online it seems that AGAS is the way to go. Right
now, I'm still very confused about the overall architecture, it's nice if you
can share some links to example code/paper that helps introducing HPX and tools
that the project needs.
I'm still new to parallel programming, thanks a lot for reading this email. My
IRC alias is sharonhsl, hoping to hearing back soon!
hpx-users mailing list