Skip to Content.
Sympa Menu

charm - Re: [charm] doneInserting

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] doneInserting


Chronological Thread 
  • From: Ronak Buch <rabuch2 AT illinois.edu>
  • To: Jozsef Bakosi <jbakosi AT lanl.gov>
  • Cc: "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu>
  • Subject: Re: [charm] doneInserting
  • Date: Fri, 19 Jan 2018 17:43:25 -0600

Hi Jozsef,

I believe that doneInserting is intended to only be called as a broadcast. We don't have any documented semantics for calling it on a single element as far as I can tell, so I believe you can treat it as undefined behavior.

Thanks,
Ronak

On Fri, Jan 19, 2018 at 10:04 AM, Jozsef Bakosi <jbakosi AT lanl.gov> wrote:
Hi folks,

I noticed that one can call doneInserting on a chare array in both broadcast and
point-to-point fashion, i.e., proxy.doneInserting() as well as
proxy[x].doneInserting(). Could someone elaborate on the difference on their
effect?

In particular, I'm hypothesizing that the broadcast call will tell the runtime
system that "I am completely done with dynamically inserting all new array
elements across the whole problem", while the one addressing only array element
x will only mean that "I am done with dynamically inserting a single array
element x", so other PEs might still be adding to the same array and so globally
we are not done yet. If this latter is true, I guess, I am having trouble
understanding what is really the use of the doneInserting() call addressing a
single element, since globally the insertion has not finished yet. Does the
system wait to see if every PE has called doneInserting() at least once and then
starts the reduction manager?

Thanks,
Jozsef



  • [charm] doneInserting, Jozsef Bakosi, 01/19/2018
    • <Possible follow-up(s)>
    • Re: [charm] doneInserting, Ronak Buch, 01/19/2018

Archive powered by MHonArc 2.6.19.

Top of Page