charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: Phil Miller <mille121 AT illinois.edu>
- To: Evghenii Gaburov <egaburov.work AT gmail.com>
- Cc: charm AT cs.uiuc.edu
- Subject: Re: [charm] [ppl] splitting .ci files into multiples
- Date: Sat, 17 Mar 2012 18:04:51 -0500
- List-archive: <http://lists.cs.uiuc.edu/pipermail/charm>
- List-id: CHARM parallel programming system <charm.cs.uiuc.edu>
Evghenii,
At present, there isn't a way to accomplish this separation, beyond
placing the code in the body of larger atomic blocks in sequential
functions defined in a .cpp file. Some higher-level languages that
we're building to simplify Charm++ development may provide this
separation more directly.
Phil
On Wed, Mar 14, 2012 at 09:57, Evghenii Gaburov
<egaburov.work AT gmail.com>
wrote:
> Hi All,
>
> I was wondering if it is possible to separate definition of a method and
> SDAG implementation into two or more separate *.ci files.
>
> For example, I have a typical .ci file:
>
> myModule.ci:
> mainmodule myModule
> {
> mainchare Main { ...
>
> array [1D] Simulation
> {
> entry void r1a(..);
> entry void r1b(..);
> entry void g1(..)
> {
> atomic { many_code_lines }
> for (imsg = 0; imsg < nmsg; imsg++)
> when r1a(..) atomic { many_code_lines }
> for (imsg = 0; imsg < nmsg; imsg++)
> when r1b(..) atomic { many_code_lines }
> atomic { many_code_lines }
> }
> ...
> entry void rNa(..);
> entry void rNb(..);
> entry void gN(..) { .. };
>
> }
> }
>
> with many entries in array [1D] Simulation are written in SDAG, so the .ci
> file becomes rather large in code-line count and hard to maintain.
>
> Is there a way to split the array's method definitions and their SDAG
> implementation into two different *.ci files, e.g.
>
> g1.ci:
> mainmodule g1
> {
> array [1D] Simulation
> {
> entry void r1a(..);
> entry void r2a(..);
> entry void g1() {...}
> }
> }
> ...
>
> gN.ci:
> mainmodule gN
> {
> array [1D] Simulation
> {
> entry void rNa(..);
> entry void rNa(..);
> entry void gN() {...}
> }
> }
>
> When I try it in this way, it complains: error: redefintion of class
> CkIndex_Simulation, CkProxyElement_Simulation, etc. Any help will be of
> great value!
>
> Thanks!
>
> Cheers,
> Evghenii
> _______________________________________________
> charm mailing list
> charm AT cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/charm
> _______________________________________________
> ppl mailing list
> ppl AT cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/ppl
- [charm] splitting .ci files into multiples, Evghenii Gaburov, 03/14/2012
- Re: [charm] [ppl] splitting .ci files into multiples, Phil Miller, 03/17/2012
Archive powered by MHonArc 2.6.16.