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