[Carpet] Carpet scheduling question
Luca Baiotti
baiotti at aei.mpg.de
Tue Aug 22 19:02:19 CEST 2006
Hi Erik,
>> Here my guess for a correct answer: routine A needs to be scheduled in
>> global-loop-local mode, routine B after A in global mode.
>
> Yes, this is correct. See e.g. AEIDevelopment/ADMMass for an example.
yes, this works, but only if I have control on thorn A (I mean if I can
change its schedule OPTIONS), which in general I may not have and which
may affect several other scheduled routines.
> If you have just a few routines, then using the scheduler for this is
> feasible. If you have more routines or more complicated scheduling
> requirements, then you can also loop over levels or switch between
> modes yourself. You can do this within your routine. You can also
> view this as a "scheduling script" which you write in C++, making use
> of the looping and mode management macros in Carpet's modes.hh. Such a
> "script" (which is nothing more than a scheduled routine) is much
> easier to read that a schedule.ccl.
>
> You can also schedule groups or functions from such a script by calling
> the Call*Group and Call*Function routines declared in carpet_public.h.
>
> Some restrictions apply.
So, as you said, this method works easily only for simple scheduling
requirements.
Probabily not, but is there another way to obtain the desired effect
(described in Jonathan's email) in a complex schedule only by modifying
the schedule itself (I mean, without adding c++ source code dealing with
Carpet namespace)?
If not, I will try that tomorrow.
Ciao,
Luca.
More information about the developers
mailing list