diff options
Diffstat (limited to 'schedule.ccl')
-rw-r--r-- | schedule.ccl | 284 |
1 files changed, 265 insertions, 19 deletions
diff --git a/schedule.ccl b/schedule.ccl index b3ba41b..a61ce76 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -17,13 +17,25 @@ STORAGE: MoL_Counters, MoL_Original_Time if (MoL_Memory_Always_On) { - STORAGE: ScratchSpace + if (MoL_Num_Evolved_Vars) + { + if (MoL_Num_Scratch_Levels) + { + STORAGE: ScratchSpace + } + STORAGE: ArrayScratchSpace + } + if (MoL_Num_SaveAndRestore_Vars) + { + STORAGE: SandRScratchSpace + } + if (MoL_Max_Evolved_Array_Size) + { + STORAGE: ArraySandRScratchSpace + } # STORAGE: ComplexScratchSpace - STORAGE: ArrayScratchSpace # STORAGE: ComplexArrayScratchSpace - STORAGE: SandRScratchSpace # STORAGE: ComplexSandRScratchSpace - STORAGE: ArraySandRScratchSpace # STORAGE: ComplexArraySandRScratchSpace } @@ -131,23 +143,257 @@ schedule MoL_ReportNumberVariables AT PostInitial AFTER MoL_Register ### boundary enforcement and so on. ### ###################################################### -# NOTE: I temporarily comment out the storage statements as I do not -# want to write out the if statements above! So this will not currently -# work with the memory hungry parameter to no. +# This fairly complicated mess of conditionals is to try and +# ensure that we never ask for storage for a vector group with +# no members. It could probably be simplified. -schedule GROUP MoL_Evolution AT Evol +if (MoL_Num_Scratch_Levels) { - LANG: C - STORAGE: ScratchSpace -# STORAGE: ComplexScratchSpace - STORAGE: SandRScratchSpace -# STORAGE: ComplexSandRScratchSpace - STORAGE: ArrayScratchSpace -# STORAGE: ComplexArrayScratchSpace - STORAGE: ArraySandRScratchSpace -# STORAGE: ComplexArraySandRScratchSpace -} "A single Cactus evolution step using MoL" - + if (MoL_Num_Evolved_Vars) + { + if (MoL_Num_SaveAndRestore_Vars) + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ScratchSpace + STORAGE: SandRScratchSpace + STORAGE: ArrayScratchSpace + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ScratchSpace + STORAGE: SandRScratchSpace + STORAGE: ArrayScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + else + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ScratchSpace + STORAGE: ArrayScratchSpace + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ScratchSpace + STORAGE: ArrayScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + } + else + { + if (MoL_Num_SaveAndRestore_Vars) + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: SandRScratchSpace + STORAGE: ArrayScratchSpace + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: SandRScratchSpace + STORAGE: ArrayScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + else + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ArrayScratchSpace + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ArrayScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + } +} +else +{ + if (MoL_Num_Evolved_Vars) + { + if (MoL_Num_SaveAndRestore_Vars) + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: SandRScratchSpace + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: SandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + else + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + } + else + { + if (MoL_Num_SaveAndRestore_Vars) + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: SandRScratchSpace + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: SandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + else + { + if (MoL_Max_Evolved_Array_Size) + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + STORAGE: ArraySandRScratchSpace + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + else + { + schedule GROUP MoL_Evolution AT Evol + { + LANG: C + # STORAGE: ComplexScratchSpace + # STORAGE: ComplexSandRScratchSpace + # STORAGE: ComplexArrayScratchSpace + # STORAGE: ComplexArraySandRScratchSpace + } "A single Cactus evolution step using MoL" + } + } + } +} + ###################################################### ### StartStep contains the routines that just do ### ### internal MoL stuff; setting the counter, and ### |