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 
futurized calls.

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!


Sharon Lam
hpx-users mailing list

Reply via email to