Skip to Content.
Sympa Menu

charm - Re: [charm] [EXTERNAL] Re: Proper use of traceBegin() and traceEnd() functions

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] [EXTERNAL] Re: Proper use of traceBegin() and traceEnd() functions


Chronological Thread 
  • From: Phil Miller <mille121 AT illinois.edu>
  • To: "Kolla, Hemanth NMN" <hnkolla AT sandia.gov>
  • Cc: Harshitha Menon <gplkrsh2 AT illinois.edu>, "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: Re: [charm] [EXTERNAL] Re: Proper use of traceBegin() and traceEnd() functions
  • Date: Thu, 23 Jun 2016 08:06:01 -0500

No apology necessary. It's good to get the problems people encounter
and their solutions out on the mailing list, so that future users
might find it in the archive.

Phil

On Wed, Jun 22, 2016 at 11:50 PM, Kolla, Hemanth NMN
<hnkolla AT sandia.gov>
wrote:
> Hi Phil,
>
> Apologies for the error in my pseudo code. As Harshitha wrote, she was able
> to resolve my issue. Thanks for following up.
>
> Cheers,
> Hemanth.
>
> Sent from my iPad
>
> On Jun 22, 2016, at 8:28 PM, Harshitha Menon
> <gplkrsh2 AT illinois.edu>
> wrote:
>
> Phil, Hemanth had written to me separately about this issue and yes indeed
> his traceBegin() and traceEnd() was not inside the serial block and adding
> it inside the serial block fixed his issue.
>
> Harshitha
> http://harshithamenon.com/
>
> On Wed, Jun 22, 2016 at 10:26 PM, Miller, Philip B
> <mille121 AT illinois.edu>
> wrote:
>>
>> Hi Hemanth,
>>
>> Could you please post the full definition of move_all_distributed() or
>> just attach/upload that .ci file? That error makes me think that the
>> if(...) traceBegin() is outside the serial {} block that seems like
>> it's supposed to contain it.
>>
>> Phil
>>
>> On Wed, Jun 22, 2016 at 8:01 PM, Kolla, Hemanth NMN
>> <hnkolla AT sandia.gov>
>> wrote:
>> > Hi,
>> >
>> >
>> > I've been able to use tracemode projections successfully with my code. I
>> > get
>> > the results over all the time steps in my code, but as a next step I
>> > wanted
>> > to gather traces around selective time steps. I've naively placed calls
>> > to
>> > traceBegin() and traceEnd() inside an SDAG portion of my code, but I get
>> > the
>> > following compiler error:
>> >
>> >
>> > STDIN:73:25-34: error: unknown SDAG construct or malformed entry method
>> > declaration.
>> > You may have forgotten to terminate a previous entry method declaration
>> > with
>> > a semicolon or forgotten to mark a block of sequential SDAG code as
>> > 'serial'
>> > if(outer_iter==0) traceBegin();
>> >
>> >
>> >
>> > The pseudo code of what I'm trying to do here is below. This is the body
>> > of
>> > code in my main ci file:
>> >
>> >
>> > entry void move_all_distributed() {
>> >
>> > for(outer_iter = 0; outer_iter < maxiterations; outer_iter++) {
>> >
>> >
>> > serial "init_start_outer_loop" {
>> >
>> >
>> > //----Call some entry methods---------
>> >
>> >
>> > //----Set start and end of selective
>> > tracing----------------------//
>> > if(outer_iter==0) traceBegin();
>> > if(outer_iter==10) traceEnd();
>> >
>> >
>> > //-----Call some more entry methods--------
>> >
>> >
>> >
>> > }
>> >
>> > }
>> >
>> >
>> >
>> > I'd be grateful if you could help me with the right way to call
>> > traceBegin
>> > and traceEnd.
>> >
>> >
>> > Thanks,
>> >
>> > Hemanth.
>
>



Archive powered by MHonArc 2.6.16.

Top of Page