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: Ronak Buch <ronakbuch AT gmail.com>
  • Cc: "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu>
  • Subject: Re: [charm] Projections question
  • Date: Wed, 18 Dec 2019 18:42:08 -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 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?

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