| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1312 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1311 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
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
|