Skip to Content.
Sympa Menu

charm - [charm] Synchronized SDAG entry

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

[charm] Synchronized SDAG entry


Chronological Thread 
  • From: Mustafa Abdul Jabbar <musbar AT gmail.com>
  • To: charm AT cs.uiuc.edu
  • Subject: [charm] Synchronized SDAG entry
  • Date: Thu, 20 Mar 2014 12:07:42 +0300
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Hello,
I am porting an MPI based code to a Charm++ based one without major code reforms. 
Problem is from within the array node I want to do blocking all to all communication without using call backs to trigger completion, because those will make the code a big mess given its current structure. I have the following SDAG entry

entry void allToAllBodyCount()
{
atomic
{
transportBodyCountToAll(); // will broadcast to all nodes
}
for(count = 0; count < numChares; ++count){
            when transportBodyCount(int bodyCount, int sender) atomic 
{
                processBodyCount(bodyCount,sender);
            }
        }
}

I am calling allToAllBodyCount() locally from the array node, and I want to wait until I have processed incoming messages.
I have read about the [sync] methods, but there's no evidence that an SDAG method can be made sync since the SDAG translates the code above to a sort of Future Completion as I noticed in the generated header file
Any workaround?





Archive powered by MHonArc 2.6.16.

Top of Page