Skip to Content.
Sympa Menu

charm - Re: [charm] Projections question

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Projections question


Chronological Thread 
  • From: Jozsef Bakosi <jbakosi AT lanl.gov>
  • To: Phil Miller <mille121 AT illinois.edu>
  • Cc: Ronak Buch <ronakbuch AT gmail.com>, "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu>
  • Subject: Re: [charm] Projections question
  • Date: Thu, 19 Dec 2019 09:47:33 -0700
  • Authentication-results: illinois.edu; spf=pass smtp.mailfrom=jbakosi AT lanl.gov; dkim=pass header.d=lanl.gov header.s=lanl; dmarc=pass header.from=lanl.gov

Thanks, Phil,

Your suggestion makes sense and correct. I renamed it and, indeed, it is
the what is called behind that label. I renamed it "solve" now.

This is very helpful, thank you both.

Jozsef

On 12.18.2019 23:46, Phil Miller wrote:
> On Wed, Dec 18, 2019 at 10:23 PM Jozsef Bakosi
> <jbakosi AT lanl.gov>
> wrote:
>
> > Thanks Ronak,
> >
> > Okay, then what is measured/denoted by DiagCG::DiagCG_rhs? (That is a
> > separate color and is not an entry method.) Could it be the following?
> >
> > entry void wait4rhs() {
> > when ownrhs_complete( tk::Fields& dif ), comrhs_complete()
> > serial "rhs" { solve( dif ); } }
> >
> > I suspect DiagCG::DiagCG_rhs stands for the above DAG label "rhs". If
> > this is the case, than that measures the cost of solve(). Correct?
> >
>
>
> That seems likely. The easiest way to find out would be to change that
> serial "rhs" to something distinct from any other name in DiagCG, and see
> what appears then.
>
>
> >
> > Jozsef
> >
> > On 12.18.2019 18:02, Ronak Buch wrote:
> > > Hi Jozsef,
> > >
> > > redn_wrapper_advance(CkReductionMsg*impl_msg) just denotes that advance
> > was
> > > called via a reduction. It includes the unpacking of variables from the
> > > message after it's been received, but it doesn't include communication
> > > or
> > > synchronization costs.
> > >
> > > Since advance() calls rhs() directly (as in not via a proxy), the time
> > > spent inside that call to rhs() is also attributed to it.
> > >
> > > Thanks,
> > > Ronak
> > >
> > > On Wed, Dec 18, 2019 at 1:07 PM Jozsef Bakosi
> > > <jbakosi AT lanl.gov>
> > > wrote:
> > >
> > > > Hi folks,
> > > >
> > > > I have a projections question: I have the following function names
> > when I
> > > > hover over "Usage Profile" or "Timeline" plots:
> > > >
> > > > DiagCG::DiagCG_rhs and
> > > > DiagCG::redn_wrapper_advance(CkReductionMsg*impl_msg)
> > > >
> > > > The corresponding code is the following (DiagCG is a chare array):
> > > >
> > > > void
> > > > DiagCG::dt()
> > > > {
> > > > // Contribute to minimum dt across all chares the advance to next
> > step
> > > > contribute( sizeof(tk::real), &mindt, CkReduction::min_double,
> > > > CkCallback(CkReductionTarget(DiagCG,advance), thisProxy)
> > );
> > > > }
> > > >
> > > > void
> > > > DiagCG::advance( tk::real newdt )
> > > > {
> > > > // Compute rhs for next time step
> > > > rhs();
> > > > }
> > > >
> > > > void
> > > > DiagCG::rhs()
> > > > {
> > > > ...
> > > > }
> > > >
> > > > I would like to know how to interpret the usage (percentage)
> > associated to
> > > > DiagCG::DiagCG_rhs and
> > > > DiagCG::redn_wrapper_advance(CkReductionMsg*impl_msg). More
> > specifically,
> > > > what does the latter include in this case? The
> > > > communication/synchronization costs of the all-to-all? Does it also
> > involve
> > > > what advance() calls, e.g., rhs()?
> > > >
> > > > Please let me know if you need more information.
> > > >
> > > > Thanks,
> > > > Jozsef



Archive powered by MHonArc 2.6.19.

Top of Page