Skip to Content.
Sympa Menu

charm - [charm] changing global (readonly) variables during runtime

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

[charm] changing global (readonly) variables during runtime


Chronological Thread 
  • From: Evghenii Gaburov <e-gaburov AT northwestern.edu>
  • To: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: [charm] changing global (readonly) variables during runtime
  • Date: Sun, 2 Oct 2011 04:22:31 +0000
  • Accept-language: en-US
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Hi All,

In my Charm program I have an array declared as readonly:

*.ci: readonly CkVec<boundary> domains_boundary;
Main.h: extern CkVec<boundary> domains_boundary;
Main.cpp: CkVec<boundary> domains_boundary;

which holds boundaries of each of the chare domain (this is a part of the
domain decomposition code).

These arrays are initially set in the Mainchare constructor, however, they
change dynamically during runtime as well (by a method in Mainchare, which is
called outside the constructor from a threaded method). As I understand, the
changes done outside the Mainchare constructor won't be communicated to other
processors automatically.

I was wondering how can I manually communicate the updated array to the rest
of the processors?

I cannot communicate these to each of the chare (which currently do), since
once the number of chares becomes large (>1024), too much memory is consumed
unnecessary (quadratic scaling with #chares)); so I want to keep these arrays
as global arrays.

Any suggestions/advice?

Thanks!

Cheers,
Evghenii


--
Evghenii Gaburov,
e-gaburov AT northwestern.edu











Archive powered by MHonArc 2.6.16.

Top of Page