[Carpet] Carpet scheduling question

Frank Loeffler frank.loeffler at aei.mpg.de
Wed Aug 23 09:52:11 CEST 2006


Hi,

Jonathan Thornburg wrote:
> and neither of them knows everything.  In particular:
> * the scheduler doesn't know anything about Carpet modes or refinement
>   levels (only Carpet knows that)
> * Carpet doesn't know which routines are scheduled before/after which
>   other routines (only the flesh knows that)

Let my try to understand this, which might be also enlightening to 
others, therefore to the list.
If only Cactus knows when and in which order to schedule functions and 
Carpet cannot do something about this, how does it come that the 
functions are not always executed in the order specified?

In particular, in our example:

    schedule A in CCTK_POSTINITIAL
     {
     } "routine A"
    schedule B in CCTK_POSTINITIAL after A
     {
     options: global
     } "routine B"

Why does this end up as:

    call A in local mode on level 2, component 0
    call B in global mode
    call A in local mode on level 1, component 0
    call A in local mode on level 0, component 0

and not as first all calls of A and after that the call to B?

I suspect, that Cactus does not do all the calls to A, because it does 
not know about refinement levels.
If so, Carpet must be the piece that does these calls, possibly 
'motivated' by a request from Cactus to call A.
But if this is the case, why not calling A on all levels immediately?

Frank




More information about the developers mailing list