| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Add a self-test that ensure that all loops cover each grid point
exactly once.
|
|
|
|
|
|
| |
Output CPU affinity at startup.
Output thread statistics at startup.
Output host name at startup.
|
|
|
|
|
| |
Provide standard Cactus output interface.
Begin to implement checkpointing (support for dim!=3 variables still missing).
|
| |
|
|
|
|
|
| |
Introduce a new parameter skip_recover_variables that skips recovery
on a set of variables.
|
| |
|
| |
|
|
|
|
| |
The previous commit had an error.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enforce certain grid structure properites, and ensure that they hold
after being enforced.
This change may lead to Carpet using a (slightly) different grid
structure than before. The differences are not "important"; what
potentially changes is the order in which consistency conditions are
applied. I expect that, in most cases, there will be no differences.
The list of consistency conditions is:
- ensure proper nesting (level must be larger than next finer level)
- add buffer zones (only once, not really a consistency condition)
- combine regions into a single box (if this is efficient)
- apply rotating 90/180 symmetry (if requested)
- clip at outer boundary (so that boxes that are too large or are
outside are cut off)
This change also reorganises the code in CarpetRegrid2.
|
|/ |
|
|
|
|
|
|
|
|
| |
Specifically, remove any hierarchy information that has been added to
the name of timers, as well as any code for creating timers
dynamically, as these are now unnecessary. Additionally, time some
previously-untimed parts of the code and make timer names in some
places more consistent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
overwritten while prolongating/syncronizing. It looks liks this might be an MPI
implementation issue, but this is not clear. A barrier at this point seems to
be a sufficient workaround, and is now used on hopper. For more information
about this, ask Frank Loeffler <knarf@cct.lsu.edu>
Use the cpp flag CARPET_MPI_BARRIER_PROLONGATE_SYNC to enable this.
|
|/
|
|
|
|
|
|
|
|
| |
larger.
This is consistent with vertex-centered eno.
The trouble is that Carpet derives the stencil radius from the interpolation order imposing Lagrange interpolation.
I also commented out the code that checks whether we have to switch down to first order.
According to Shu, this is not necessary! This way interpolation runs faster.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Without this fix, reductions may depend on the number of processors used.
|
| | |
|
|/
|
|
| |
AMR.
|
|
|
|
| |
rocky!
|
|
|
|
|
| |
Rewrite prolongation and reduction mask handling to use the
pre-calculated information in the dh structure.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Pre-calculate and store the regions for CarpetReduce's reduction
weight.
Add new dh fields prolongation_boundary and restriction_boundary.
Remove field fine_active.
Disable also the dh fields buffers_stepped.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
New parameter value "recursive" for Carpet::processor_topology.
|
|/
|
|
| |
Add support for a new load balancing scheme called "recursive", designed and implemented by Peter Diener. This new scheme is more flexible and can distribute the load more evenly than Carpet's current scheme.
|