| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SCHEDULE AS
so a function can be aliased with a different name.
Untested.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1326 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
|
|
|
|
|
|
|
| |
STORAGE
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1285 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1102 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
local -> my
used perl 5 references for passing databases around in the CST.
CST is now about a factor of 16 faster !
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1101 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
in COMMUNICATION STORAGE TRIGGERS and LANGUAGE
git-svn-id: http://svn.cactuscode.org/flesh/trunk@992 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
noone noticed ...
git-svn-id: http://svn.cactuscode.org/flesh/trunk@990 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@986 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@974 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IMPORTANT: if you don't have a src/schedule directory, please
do an "update -d" or your code won't compile!
You can now create schedule groups and schedule items (other groups
or functions) IN a group. You may then schedule a group AT a
particular CCTK entry point, or inside another group.
There is a new keyword WHILE in the schedule specification. The
argument(s) to this are the full names of integer scalars, and the
item which is scheduled WHILE will be executed while this integer, or
these integers, are non-zero. Note that currently there is little
checking of the type of these scalars, 'though this will be coming
soon.
BEFORE, AFTER, or WHILE can take a list of arguments of the form
(a,b,c) to stop you having to do something like
BEFORE a BEFORE b BEFORE c
So the full format of a schedule statement is
SCHEDULE [GROUP] <name> <AT entrypoint | IN group> [BEFORE|AFTER <item | (item...)>] [WHILE <integer gridscalar>]
{
[LANG: <language>]
[COMM: <group(s)>]
[STORAGE: <groups(s)]
[TRIGGERS: <groups(s)]
} "<description>"
Note that even for a group you need to provide
{
} "<description>"
'though that may be relaxed soon.
Also TRIGGERS are now on a group basis, not on a variable basis.
So, for example, to test this I had
--------------------------------------
SCHEDULE TEST1_InitialData AT INITIAL
{
LANG: Fortran
} "Initialise"
SCHEDULE TEST1_InitialData AT EVOL
{
LANG: Fortran
} "Initialise"
SCHEDULE TEST1_Evolve IN testit
{
LANG: Fortran
} "Evolution routine"
SCHEDULE GROUP testit WHILE test1::foo_int_scalar AT EVOL AFTER TEST1_InitialData
{
} "Test a group within a group. "
---------------------------------------
where the initialisation routine set test1::foo_int_scalar to 4 and
the evolution routine decremented it. The group "testit" is redundant here
as only one thing is scheduled in it, the WHILE and AFTER could have gone
directly onto the scheduling of TEST1_Evolve.
Apart from the checking of the while stuff, the perl does a fair amount of
checking that groups exist. It doesn't yet check that a group you
are scheduling at or in exists, and neither does the C, so please check the
screen output of the final schedule tree. Checks for this an for
unreachable groups will go in, but perhaps not in the next week.
There's also some tidying up which needs to go in, but this stuff
passes all the tests that the unmodified code does.
I have also tried to make the output of the CST a bit more useful, 'though
now it's a wee bit long-winded.
Please send me comments if you want more output of various things, or would
like the current output, or how the WHILE stuff works, changed.
Tom
IMPORTANT: if you don't have a src/schedule directory, please
do an "update -d" or your code won't compile!
git-svn-id: http://svn.cactuscode.org/flesh/trunk@966 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@951 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
ScheduleParser.pl reads the schedule stuff into a database
- still not perfect, as all it does is replace scheduling stuff
with distinctive blocks and parse all the info about the
block, whereas it should also parse all the if statements
and associate them with the blocks too.
NewCreateScheduleBindings.pl is only just started, but will be renamed
CreateScheduleBindings when it is complete and actually does what it's
supposed to.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@938 17b73243-c579-4c4c-a9d2-2d5706c11dac
|