charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- 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
- [charm] Projections question, Jozsef Bakosi, 12/18/2019
- <Possible follow-up(s)>
- Re: [charm] Projections question, Ronak Buch, 12/18/2019
- Re: [charm] Projections question, Jozsef Bakosi, 12/18/2019
- Re: [charm] Projections question, Phil Miller, 12/18/2019
- Re: [charm] Projections question, Jozsef Bakosi, 12/19/2019
- Re: [charm] Projections question, Phil Miller, 12/18/2019
- Re: [charm] Projections question, Jozsef Bakosi, 12/18/2019
Archive powered by MHonArc 2.6.19.