summaryrefslogtreecommitdiff
path: root/src/main/ScheduleInterface.c
Commit message (Collapse)AuthorAge
* Correct and beautify timer outputeschnett2013-01-14
| | | | | | | | | | Output "seconds" instead of the actual timer value, in accordance with the column headers. Do not indent output. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4933 17b73243-c579-4c4c-a9d2-2d5706c11dac
* ScheduleInterface.c: Add printf format stringhinder2012-11-20
| | | | | | Using the data string as a format string can be a security vulnerability and hence triggers a compiler warning. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4916 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added CCTK_TimerRunning and CCTK_TimerRunningIknarf2012-10-24
| | | | | | | These functions return whether a Cactus timer is running or not (either by name or by handle). git-svn-id: http://svn.cactuscode.org/flesh/trunk@4890 17b73243-c579-4c4c-a9d2-2d5706c11dac
* 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
* fix last commit (ooops). ValidateModifiers() is apparently called for all ↵knarf2010-09-29
| | | | | | modifiers, and some of them apparently allow non-full variable names. My mistake, not corrected. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4639 17b73243-c579-4c4c-a9d2-2d5706c11dac
* check return value of CCTK_VarIndex for check of if/while variable in ↵knarf2010-09-28
| | | | | | schedule tree, and give corresponding warning message git-svn-id: http://svn.cactuscode.org/flesh/trunk@4637 17b73243-c579-4c4c-a9d2-2d5706c11dac
* reorganizes the printout of the scheduling treeknarf2010-06-03
| | | | | | Cactus does at startup a bit, fixing also some indentation problems. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4620 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
* Associate a separate timer for each routine called in a given schedule bintradke2009-04-30
| | | | | | | | | | | so its execution times in different bins can be distinguished. For multiple calls within the same bin, the accumulated time is reported only once. This applies patch http://www.cactuscode.org/old/pipermail/patches/2009-April/000258.html. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4557 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Name flesh timers so that they contain the routine name as wellschnetter2008-11-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4511 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Remove superfluous argument "first" from if_check prototype; "first"schnetter2008-08-29
| | | | | | | only makes sense for while_check. Update all callers and callees. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4502 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Output new schedule bin "postpostinitial" in the scheduleschnetter2008-05-26
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4489 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
* Correct the order in which the schedule is output: The schedule binschnetter2008-04-07
| | | | | | | | postinitial is executed before the recursive initialisation of finer grids, not afterwards. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4477 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct the output all preregrid and postregrid bins in the scheduleschnetter2008-03-02
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4469 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Output all preregrid and postregrid bins in the schedule, and indicateschnetter2008-03-02
| | | | | | | when the grid hierarchy is changed git-svn-id: http://svn.cactuscode.org/flesh/trunk@4468 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
* Correct a severe error in handling sync statements in schedulingschnetter2005-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | groups. Whether the synchronisation was done by CCTK_CallFunction or not was stored in the "synchronised" flag of a t_sched_data object. This object exists only once for the simulation, and not once for each recursive call of the scheduler when it traverses groups. Thus the information was correct only for the innermost schedule item, namely functions, and incorrect for schedule groups. Because PUGH does not overload CCTK_CallFunction, and thus this flag always stays false, I assume that this error does not occur with PUGH simulations. It does occur with Carpet simulations. As a quick solution, I moved the "synchronised" flag from the t_sched_data structure into the t_attribute structure. This does not work for recursive calls. It may be that the t_attribute structure is meant for unchanging information. In that case, it is necessary to construct a stack of t_sched_data objects. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4060 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
* Output more information when an unknown schedule option is encountered.schnetter2004-07-31
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3811 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Delimit timer info with "=" instead of "-" to make it more readable.schnetter2004-07-31
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3810 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
* Describe POSTRESTRICT and POSTREGRID bins during startup.schnetter2004-06-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3768 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Create timers with unique names by using an integer serial number.schnetter2004-04-06
| | | | | | | | | | | This removes spurious timer warnings. Check malloc return value. Change message from "[...] at [group]" to "[...] in [group]". git-svn-id: http://svn.cactuscode.org/flesh/trunk@3646 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Check malloc return valueschnetter2004-04-04
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3643 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
* Allows scheduling in the analysis bin without any triggers. Thisschnetter2004-01-21
| | | | | | | executes the scheduled item always. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3552 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Print WRAGH bin name in schedule treeschnetter2004-01-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3506 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fix a bug in the flesh's timer output for the case when the same routine getstradke2003-12-01
| | | | | | | scheduled at different schedule bins. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3467 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Print the schedule bin names, enclosed in square brackets, in theschnetter2003-10-13
| | | | | | | schedule tree. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3432 17b73243-c579-4c4c-a9d2-2d5706c11dac
* new CCTK_WRAGH timebinrideout2003-08-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3384 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
* Allow routines scheduled within groups triggered in analysis to be run if thegoodale2003-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enclosing group is triggered. The logic is now that if a group is triggered at analysis, all member routines or groups of that group will be automatically triggered unless they in turn have a trigger, in which case that overrides the trigger. E.g. schedule TestSchedule_CalcOne AT Analysis before TestSchedule_Analysis { storage: testschedule::one trigger: testschedule::one lang: C } "Calculate the value of one" schedule group TestSchedule_Analysis at ANALYSIS { trigger: testschedule::two testschedule::three } "TestSchedule top level analysis group" schedule TestSchedule_CalcTwo IN TestSchedule_Analysis { trigger: testschedule::two storage: testschedule::two lang: C } "Calculate the value of two" schedule GROUP TestSchedule_Analysis2 in TestSchedule_Analysis after TestSchedule_CalcTwo { trigger: testschedule::three } "TestSchedule second level analysis group" schedule TestSchedule_CalcThree IN TestSchedule_Analysis2 { trigger: testschedule::three storage: testschedule::three lang: C } "Calculate the value of three" will call the appropriate routines to calculate one, two or three if these are selected for output. As before, output is done on any trigger variable or variable group when a routine with the variable as a trigger exits. So in the above example "three" is output when CalcThree exits. If this is not desired, the trigger and storage for "three" could have been placed on the enclosing schedule group, and then the routine would have been called even if output was only requested for "two" and not for "three". This fixes PR 694, and helps with PR 844. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@3188 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added a check against scheduling items with the same name in a schedule bingoodale2003-02-17
| | | | | | | | | or group. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@3148 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
* Add group desription to printed schedule treeallen2002-12-30
| | | | | | | Closes Cactus/1283 git-svn-id: http://svn.cactuscode.org/flesh/trunk@3068 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Putting semicolons at the end of CCTK_FILEVERSIONs.goodale2002-11-12
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@3029 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Don't call malloc() with a size of zero bytes.tradke2002-06-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@2900 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Only try and increase storage if there are some grid variable groupsallen2002-04-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@2768 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
* Change the top-level storage for GVs to use new GroupStorageIncrease.goodale2002-04-16
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2723 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed to use the new GroupStorageIncrease/Decrease functions.goodale2002-04-04
| | | | | | | | | | | | Currently passes -1 as the timelevel for each group as we don't specify and read that data from the schedule.ccl files yet. This should make no visible change to anyone. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2694 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Formatting change when printing out group names. Only puts a label at thegoodale2002-03-26
| | | | | | | | | beginning of a group now. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2670 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixed a thing from my previous commit when printing the schedule tree.tradke2002-03-25
| | | | | | | | Also put in Erik's patch to print group names in a schedule. This closes PR Cactus/771. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2669 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixed the indentation level when printing scheduled groups.tradke2002-03-25
| | | | | | | This closes PR Cactus/943. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2664 17b73243-c579-4c4c-a9d2-2d5706c11dac
* When printing the schedule tree, also say when periodic output is done.tradke2002-03-19
| | | | | | | This closes PR Cactus/804. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2655 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Print routines which are registered for CCTK_POST_RECOVER_VARIABLES.tradke2002-03-19
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@2654 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Bugfix in printing runtime information.tradke2001-12-21
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@2526 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Moved the very first CCTK_POSTSTEP schedule bin before CCTK_RECOVER_VARIABLES.tradke2001-12-17
| | | | | | | | | Now POSTSTEP routines aren't run anymore twice on the same timestep after recovery. Closes PR Cactus-824 and Cactus-826. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2512 17b73243-c579-4c4c-a9d2-2d5706c11dac