summaryrefslogtreecommitdiff
path: root/src/include/cctki_ScheduleBindings.h
Commit message (Collapse)AuthorAge
* 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 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
* Now scheduling a group AS preserves the identity of the group, allowinggoodale2003-02-17
| | | | | | | | | | | | | | | | people to schedule in the real name and then schedule many aliases of the group in the same schedule bin or parent group. Note that you need to do a make <config>-rebuild on your configurations after updating with this change. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@3147 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Passing timelevel storage info from schedule.ccl files to the flesh. Thisgoodale2002-04-17
| | | | | | | | | | | | | should now work. Note that the COMM stuff is now completely obsoleted and the schedule stuff no longer schedules variable groups for comm (this only affects driver writers as the statement has been deprecated for ages). Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2725 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
* Addedgoodale2000-01-27
| | | | | | | | | | | | | | | | | | | | SYNC[HRONISE]: <group list> as an option to the schedule.ccl. This will be used to tell the flesh or the driver to synchronise these groups after the function has been executed. Tom NOTE: You will need to do a gmake <config>-rebuild after this update as the bindings stuff has changed. git-svn-id: http://svn.cactuscode.org/flesh/trunk@1318 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
* Untabified.goodale2000-01-27
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1312 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Latest stuff for the scheduling call function.goodale2000-01-27
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1311 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Split cctki_Schedule.h in twogoodale2000-01-27
cctki_Schedule.h just contains prototypes and stuff from the schedule directory. cctki_ScheduleBindings.h contains routines from the rest of cactus. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1308 17b73243-c579-4c4c-a9d2-2d5706c11dac