summaryrefslogtreecommitdiff
path: root/src/include/cctk_Schedule.h
Commit message (Collapse)AuthorAge
* add function to query name of currently scheduled functionrhaas2012-04-23
| | | | | | | | | | this adds a function CCTK_ScheduleQueryCurrentFunction which returns the cFunctionData of the function currently executing via CCTK_CallScheduledFunction git-svn-id: http://svn.cactuscode.org/flesh/trunk@4805 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Merge branch 'NewSchedule' into trunkhinder2012-01-31
| | | | | | | | | | | This provides support for specifying READS and WRITES clauses for each function scheduled in schedule.ccl. These list the variables which the scheduled function reads from or writes to. This supports future dependency-based scheduling. See https://docs.einsteintoolkit.org/et-docs/Adding_requirements_to_the_Cactus_scheduler for more information. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4788 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add new schedule modes meta_early, meta_late, global_early, andschnetter2009-12-05
| | | | | | | | | global_late. These modes can then be used in Carpet, where they will simplify traversing the schedule tree when local, level, and global mode routines are mixed. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4589 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add IF clauses to schedule itemsschnetter2008-04-09
| | | | | | | | | | | | | | | Schedule items in Cactus can already have WHILE clauses, which means that they are executed while a certain condition are true. This patch adds IF clauses, which means that they are executed only if a certain condition is true. The syntax is equivalent to WHILE clauses. These if clauses is different from the existing C-syntax if statements, which are only evaluated at startup and determine how the schedule is constructed. These if clauses are evaluated every time the schedule is traversed, and can skip certain schedule items. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4478 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Implement a new flesh function CCTK_SchedulePrintTimesToFile.schnetter2007-08-25
| | | | | | | | | The existing internal schedule printing functions now take an additional FILE* argument, and the existing CCTK_SchedulePrintTimes prints explicitly to stdout. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4428 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add additional scheduler options "loop-local", "loop-singlemap",schnetter2004-07-31
| | | | | | | | "loop-level", "loop-global", and "loop-meta". This makes CallFunction loop over the corresponding modes. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3812 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add option flag for 'local' mode.tradke2004-06-23
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3788 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add new scheduling options "meta" and "singlemap" for Carpet.schnetter2004-02-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3575 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added level mode:goodale2003-05-09
| | | | | | | | | | | a scheduled routine can have options associated with it. LEVEL mode is where the routine should only be called once for any set of sub-grids with the same cctk_levfac numbers. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@3209 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding the trigger groups for a routine to the cFunctionData structure.allen2001-11-03
| | | | | | | This field should be considered volatile, it may not remain on this structure git-svn-id: http://svn.cactuscode.org/flesh/trunk@2448 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added thorn name, routine name and scheduling bin to the FunctionDataallen2001-10-31
| | | | | | | | structure. This should be considered volatile, the information might move back to the internal structure. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2444 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New special time bins $ENTRY and $EXIT for each schedule entry point. Thesegoodale2000-04-04
| | | | | | | | | | | | | | are functions returning ints and taking a cGH. They can be used for things which do profiling, etc. These are automatically traversed before and after a schedule entry point. Treat as experimental for the moment. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1509 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added a prototype for CCTK_CallFunction.goodale2000-02-07
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1370 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now, subject to review, you can putgoodale2000-01-28
| | | | | | | | | | | | | | | | | | OPTIONS:... in a schedule block to pass miscellaneous options to the schedular. Currently the only option is "Global" which sets a flag on the FunctionData structure passed to the call function. This option only makes sense for a scheduled function, not a schedule group, though this may change in the future. It is used to indicate to the calling function that this function should only be called once as it performs global operations. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1325 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added the mechanism for allowing drivers to specify a function to begoodale2000-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | called at the bottm of a schedule traverse, and changed the flesh to use the new calls. rfrTraverse is now obsolete and will be removed soon. Drivers may now call int CCTK_RegisterGHExtensionScheduleTraverseGH(int handle, int (*func)(cGH *, const char *)) to register a ScheduleTraverse function. This is precisely equivalent to the deprecated CCTK_RegisterGHExtensionrfrTraverseGH except the registered function now takes a string and not a constant. The registered function should then fill out the cGH as per normal, and call int CCTK_ScheduleTraverse(const char *where, void *GH, int (*CallFunction)(void *, cFunctionData *, void *)) with the string and GH passed in, and either NULL or a function which takes a function pointer, a cFunctionData data structure, and a cGH. This function, in turn, may call int CCTK_CallFunction(void *function, cFunctionData *fdata, void *data) with these arguments, or may call the function in some other way if it desires. This allows a driver to loop over all sub-grids at a particular level filling out the cGH at this level of the schedule tree rather than at the top, which was the only option available before. Unigrid drivers should probably still fill out at the top and pass NULL down as it's more efficient to fill out the cGH only once, but AMR or multi-block/patch drivers can now use this mechanism. The old CCTK_rfrTraverse routine has similarly been replaced by int CCTK_Traverse(cGH *GH, const char *where) which loops over all GH extensions calling their registered ScheduleTraverseGH routines. Tom NB these names may change at the next naming meeting, but the functionality should remain. git-svn-id: http://svn.cactuscode.org/flesh/trunk@1317 17b73243-c579-4c4c-a9d2-2d5706c11dac
* CCTK function name changesallen2000-01-25
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1297 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changes towards having the call function passed in from outside.goodale2000-01-24
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1282 17b73243-c579-4c4c-a9d2-2d5706c11dac
* All include files for thorns now have cctk_ then a capital letter (!)allen2000-01-16
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1262 17b73243-c579-4c4c-a9d2-2d5706c11dac