Improved scheduling

From Einstein Toolkit Documentation
Revision as of 10:33, 31 October 2011 by Hinder (talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Some months ago, we discussed possible ways to make scheduling in Cactus more straightforward for thorn writers. Please see Adding requirements to the Cactus scheduler for the work that was done before. We then had a telecon on 24-Oct-2011 in which we did some brainstorming to introduce new people to the ideas.

Current status:

  • There is a branch of the Cactus flesh which supports REQUIRES and PROVIDES directives in schedule.ccl files.
  • There is a cut-down WaveToy thorn with very simple schedule requirements.

Possible plan - including long-term vision. Please discuss!

  • Change REQUIRES and PROVIDES to READS and WRITES - we seem to have consensus that this makes more sense
  • Set up a sequence of functions in CCTK_INITIAL with dependency information between variables. Make Carpet decide the scheduling order within CCTK_INITIAL based on these.
  • Make a unigrid simulation work.
  • Make Carpet handle regridding/restricting/syncing/prolongating of all variables by calling scheduled functions which say they can write these variables.
  • Make boundary conditions work with dependency-based scheduling
  • Add READS and WRITES information to all scheduled functions in the Einstein Toolkit
  • Deprecate unneeded schedule groups and "before" and "after" and transition entirely to the new dependency-based scheduling (one year from now?)

Issues/thoughts:

  • Think about how to deal with MoL. Should we first try to get evolution working without MoL?
  • What shall we do with PUGH?