| Commit message (Collapse) | Author | Age |
|
|
|
| |
Add new load balancing mechanism "balanced".
|
|
|
|
|
|
| |
all variables and groups listed in carpet::ignore_these_variables are
ignored by the requirements check, ie they are always assumed to be
valid and never set.
|
| |
|
| |
|
|
|
|
|
| |
If any of the periodicity parameter are set to "yes" in a parameter file
or checkpoint, Carpet will still abort.
|
|
|
|
| |
if use_higher_order_restriction = yes
|
|
|
|
|
|
| |
Rename buffer2 zones to overlap zones.
Complete implementing overlap zones in the dh class.
|
| |
|
|
|
|
| |
This causes each process to wait for all the others to reach this point in the execution. This will happen anyway (for most of the processes) during the sync, and adding this barrier means that this time is not included in the sync timer. Also add a new timer to time this barrier.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Add debugging parameter Carpet::output_after_regridding that schedules
an additional output right after regridding.
|
| |
|
|
|
|
|
|
|
|
|
| |
use_unusedpoints_mask
According to the Cactus documentation, boolean parameters do not have
ranges
---
Carpet/Carpet/param.ccl | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch provides a function interface for accelerator (GPU) devices
to be called at certain points when Carpet traverses the schedule
tree. This can be used to copy data between the host (CPU) and the
device (GPU) as it is needed.
---
Carpet/Carpet/interface.ccl | 28 ++++++++++++++++++++++++++++
Carpet/Carpet/param.ccl | 6 ++++++
Carpet/Carpet/src/CallFunction.cc | 12 ++++++++++++
Carpet/Carpet/src/Comm.cc | 8 ++++++++
Carpet/Carpet/src/Cycle.cc | 4 ++++
Carpet/Carpet/src/Evolve.cc | 2 ++
Carpet/Carpet/src/Initialise.cc | 2 ++
Carpet/Carpet/src/Requirements.cc | 34 ++++++++++++++++++++++------------
Carpet/Carpet/src/variables.cc | 3 +++
Carpet/Carpet/src/variables.hh | 3 +++
10 files changed, 90 insertions(+), 12 deletions(-)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This parameter was removed in the past and is not used in current
Carpet. However, to stop old parameter files from breaking, we
reintroduce it. There is a warning in the param.ccl file that the
parameter is unused, but no warning at runtime. This is not a big
problem since poison is only used for debugging.
|
|
|
|
|
|
| |
Add new parameters Carpet::granularity and
Carpet::granularity_boundary to choose a certain granularity for the
process decomposition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New parameters output_initialise_timer_tree and
output_timer_tree_every control output of a new "timer tree diagram"
to standard output for the Initialise and Evolve timer trees
respectively. These diagrams indicate:
1. the value of each timer;
2. the percentage of the given tree taken by each timer;
3. which timers are contained in which other timers;
4. any untimed code
for any timer which takes more than 1% of the tree time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit modifies the timer infrastructure in Carpet to generate a
tree of timers where the hierarchy reflects the call-graph of the
program. This makes it much easier to interpret the timer output than
with the previous flat structure, where it was not possible to see
which timers "contained" which others. More implementation details
are given at the top of TimerNode.hh.
Note that the Timer source and header files have been renamed as
CactusTimer and a new Timer file and object has been created. This is
because the Timer object now only provides a wrapper around the Cactus
timer mechanism which was contained in the old Timer object.
|
|
|
|
| |
New parameter value "recursive" for Carpet::processor_topology.
|
| |
|
| |
|
|
|
|
| |
of gp per processor is 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store the current Cactus time (and not a fake Carpet time) in the th
"time hiearchy". This removes the now redundant "leveltimes" data
structure in Carpet.
Add past time levels to th, so that it can store the time for past
time levels instead of assuming the time step size is constant. This
allows changing the time step size during evolution.
Share the time hierarchy between all maps, instead of having one time
hierarchy per map.
Simplify the time level cycling and time stepping code used during
evolution.
Improve structure of the code that loops over time levels for certain
schedule bins. Introduce a new Carpet variable "timelevel", similar
to "reflevel".
This also makes it possible to avoid time interpolation for the past
time levels during regridding. The past time levels of the fine grid
then remain aligned (in time) with the past time levels of the coarse
grid. This is controlled by a new parameter
"time_interpolation_during_regridding", which defaults to "yes" for
backwards compatibility.
Simplify the three time level initialisation. Instead of initialising
all three time levels by taking altogether three time steps (forwards
and backwards), initialise only one past time level by taking one time
step backwards. The remaining time level is initialised during the
first time step of the evolution, which begins by cycling time levels,
which drops the non-initialised last time level anyway.
Update Carpet and the mode handling correspondingly.
Update the CarpetIOHDF5 checkpoint format correspondingly.
Update CarpetInterp, CarpetReduce, and CarpetRegrid2 correspondingly.
Update CarpetJacobi and CarpetMG correspondingly.
|
|
|
|
|
| |
Allow different numbers of ghost zones and different spatial
prolongation orders on different refinement levels.
|
|
|
|
|
| |
Add new parameter no_split_direction that ensures that a domain is not
split (distributed onto several processes) in a certain direction.
|
|
|
|
| |
Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
|
| |
|
|
|
|
|
|
| |
Add new modes meta_early, meta_late, global_early, and global_late, which
execute like meta mode or global mode, but execut either as early or as
late as possible in the schedule.
|
| |
|
|
|
|
|
|
|
| |
Add a new parameter Carpet::refine_timestep which automatically adjusts
the time step size according to the give spatial and temporal refinement
factors, so that the specified CFL factor Time::dtfac is satisfied on all
refinement levels.
|
|
|
|
|
|
|
|
| |
Add a new parameter Carpet::grid_coordinates_filename which specifies
a file name to which the grid structure is output after regridding.
This is similar to the existing parameter Carpet::grid_structure_filename,
except that the output is in terms of coordinates, which is easier to
interpret.
|
|
|
|
|
|
|
|
| |
Add parameters max_core_size_MB and max_memory_size_MB, limiting the
maximum size of core files and the maximum amount of allocated memory.
The limits are set via setrlimit during startup.
darcs-hash:20080219051040-dae7b-1f11b6cf700d133adf09957ab7e80256c85eade1.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thorn InitBase specifies how initial data should be calculated. There
can be three possibilities:
init_some_levels: Set up at least one time level; other time levels
are scratch space
init_single_level: Set up exactly one time level; other time levels
are not acessed
init_all_levels: Set up all active time levels
Carpet checks this parameter and ensures that this setting is
consistent with Carpet's parameters
init_each_timelevel
init_fill_timelevels
init_3_timelevels
The new parameter init_fill_timelevels copies the current time level
into all past time levels, very similar to what
MoL::initial_data_is_crap does.
darcs-hash:20070706122545-dae7b-57ccca2954b1bd7ad98771e689c6c5b569c238cc.gz
|
|
|
|
|
|
|
|
| |
Set the number of OpenMP threads, if desired.
Output all process ids at startup.
darcs-hash:20080114145939-dae7b-61536ad39e398ff03795b9c6cef226f73d40721d.gz
|
|
|
|
| |
darcs-hash:20070821185613-dae7b-266178bfd568cef54a4f31df0bf0a04170f93d00.gz
|
|
|
|
| |
darcs-hash:20070613215212-dae7b-b4362c4ff260002047604390da29783ff593d0b0.gz
|
|
|
|
|
|
|
|
| |
By default, call MoLNumIntegratorSubsteps to find out how many time
integrator substeps there are. Can be overridden by setting
Carpet::num_integrator_substeps.
darcs-hash:20070524214138-dae7b-4b8eb8aca92f62461460f937bbb3feb54b06f455.gz
|
|
|
|
|
|
|
| |
Make Carpet::regrid_during_initialisation=no and
Carpet::regrid_during_recovery=no the default settings.
darcs-hash:20070523204540-dae7b-f013b77e9d28719edde06bb62f3ccd9655ec187f.gz
|
|
|
|
| |
darcs-hash:20070510224141-dae7b-0b4aead98b7c4c37d39d637aaa7c49ed99ea82cc.gz
|
|
|
|
|
|
|
|
| |
Introduce a parameter Carpet::additional_buffer_zones, which allows
using more or fewer buffer zones than there would be when calculated
from the ghost zones.
darcs-hash:20070502141602-dae7b-c7209f710a3186aee6dfea8700312d04562b0928.gz
|
|
|
|
|
|
|
|
|
|
| |
Make buffer zones always inner buffer zones (but update CarpetRegrid2
to increase the domain automatically).
Calculate the base grids before creating the gh. Use information
about the outer boundaries for this.
darcs-hash:20070419015830-dae7b-da010f022aa948a955b818256a0c0c4e68ba42ce.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove parameter parameters Carpet::silent, which was inconvenient to
use.
Do not output timing statistics by default.
Allow parameter values -1 in addition to 0 to disable timing output.
Place the timing statistics into the grid scalars even if timing
output is disabled.
darcs-hash:20070312161517-dae7b-77a7d21f37179962beae2f544e7ee6a174c45508.gz
|
|
|
|
| |
darcs-hash:20070220153844-dae7b-b7153d727cbfb797e8c981309a2e576b649b1979.gz
|
|
|
|
|
|
|
| |
A deadbeef value to 7353315 leads to integer overflows. Change the
default to 666 instead.
darcs-hash:20070204191528-dae7b-9feadfbf25a8f82afa367cbc1085fcb82348ded3.gz
|
|
|
|
|
|
| |
Adapt to the changes in CarpetLib to implement cell centering.
darcs-hash:20070113005851-dae7b-2e84bf44f70f196400036670de2086f7af3aaa1e.gz
|
|
|
|
|
|
|
|
|
| |
Add parameter sync_during_time_integration. This parameters disables
synchronisation during time integration, similar to the way in which
prolongation is disabled. This can potentially reduce communication
overhead.
darcs-hash:20061206163017-dae7b-953a43e45537fcac6acb2436cbcba3a1b75ee938.gz
|