[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