Alphabetize #includes. Better logic for checking for 'pidx' tag. Fix variable name ('error') to be accurate.
0 lines of code changed in 2 files:
Whitespace/readability fix.
15 lines of code changed in 3 files:
Added Mira
0 lines of code changed in 2 files:
Fix a few missed updates from Allens commit a little while back with regards to PIDX sections. Have not tested, but believe this is correct.
4 lines of code changed in 1 file:
Couple of relatively minor fixes to configure system to catch corner case bugs.
M configure.ac
M configure
- Automatically add "-fp-model precise" to CFLAGS (for optimized builds) when using Intel compiler.
- Rename "with_malloc_trace" to "with_MallocTrace" for consistency and so that macro expansion will work with
this flag.
- Add in code (was already in configure.ac but not in configure?) that will remove out of date .o files that
depend on the Wasatch 3P when the W3P changes (via configure).
M aclocal.m4
- Catch when the user says something like "--with-fortran= " (User must point to a
directory and this previously allowed for bad logic to happen).
0 lines of code changed in 2 files:
<checkpoint> walltimeStart and walltimeInterval are in integer seconds.
2 lines of code changed in 1 file:
Rename reg to regridder. White space.
21 lines of code changed in 1 file:
Use d_ naming convention. Default <PIDX> tag vars to avoid segfaults. White space.
0 lines of code changed in 4 files:
Update configure to remove Wasatch .o files when W3P changes (need to rebuild configure but wanted to get tihs in).
11 lines of code changed in 2 files:
Added ability to build NSCBC library.
33 lines of code changed in 4 files:
Add in the Wasatch 3P NSCBC library build/check in configure system. If you are using Wasatch and pointing
to old Watach 3Ps, this will cause your build to break... you will need to update your W3P to include
the NSCBC library.
M build_scripts/build_wasatch_3p.sh
- Added in Tony Saad's build commands for NSCBC library. Added hooks to allow configure to
specify whether to build it or not.
M configVars.mk.in
- Added in HAVE_NSCBC and NSCBC_INCLUDE flags.
M configure.ac
M configure
- Order Wasatch 3P lines to always be SpatialOps, ExprLib, TabProps, RadProps, NSCBC, POKITT.
- Add in verification of NSCBC files and NSCBC flags.
- Re-ordered the Pokitt test to be after the NSCBC test (just to keep using the same order when looking W3P libs).
M CCA/Components/SimulationController/AMRSimulationController.cc
- Few layout cleanups for easier reading.
M CCA/Components/SimulationController/SimulationController.cc
- Rename 't' to 'time'. Please don't use one letter variable names.
- Commented out "stdDeviation()" function as it isn't used and causes compiler warnings.
M Core/DataArchive/DataArchive.cc
- Fix error message when looking for <Data> to accurately report the name of the file that was searched.
75 lines of code changed in 6 files:
M CCA/Components/DataArchiver/DataArchiver.cc
- Comment end of function.
M CCA/Components/SimulationController/AMRSimulationController.cc
- Set a var ('checkpointing') to remember if this is a checkpoint so we don't have to do the check twice.
The previous code was problematic as it used an individual rank's currentSeconds() and we
were doing the check (for the same timestep) twice with different wall times.
4 lines of code changed in 2 files:
Fix a nasty synchronization bug in checkpointing based on wall clock time.
This, I believe, mainly only shows up with very quick time steps, but it
could, conceivably, show up 'randomly' any time. The problem was that
each rank was determining "what the wall clock time is"... And each processors
clock could be off, or the check could be just a micro second delayed,
causing one core to not think that it is time for a checkpoint, and all
others to try to checkpoint, thus causing a hang (or segfault).
It would appear that this issue has been in the code for a long time.
In almost (?) all cases where real time is used, the time is found by
rank 0 and broadcast to everyone else. However, (at least) in this case
all ranks were calling currentSeconds(). I believe that I have found
the two locations this was happening and fixed it, and want to get this
fix committed for Sid to try and so that Ben's runs can be attempted.
However, it would behoove us to actually go through this code in detail
to make sure that we haven't missed anything and that redundant work
is not being performed. Also, I don't think that the broadcast will
be a major problem, but I'd like to get Alan's (et al) thoughts on this.
M CCA/Components/DataArchiver/DataArchiver.cc
- Removed tabs, Minor white space clean ups. Use > 80 columns of code where it makes sense.
Be consistent with placement of '{' in for loops, and use of else on a new line.
- d_checkpointWalltimeInterval is an integer, though there were (are?) a
few places it was being treated like a float. Probably didn't make a
difference, but we should be consistent.
- Have rank 0 determine the time and bcast it if we are doing wall clock
check pointing.
M CCA/Components/SimulationController/AMRSimulationController.cc
- Have rank 0 determine the time and bcast it if we are doing wall clock
check pointing.
52 lines of code changed in 2 files:
This commit allows for dumping the grid.xml file in binary. It is turned off by default at this point.
Additionally, the <Data> section is split out of the grid.xml file and put into its own file (XML/ASCII) -
but only when using the XML_TEXTWRITER or the binary output.
If the grid is output in binary, you can use the "puda/grid_reader.cc" stand alone program to
display it (in XML) so you can visually see what is in the file. It is important to note that
when outputing in XML, we can (and do) ignore (not write) tags that are meaningless (in certain situations)
or have a default when they do not exist in the file. However, in the binary version, we have to write them all
out. I have tested against our local regression tests, but it is possible that there are some
seldomly used flags that are not yet written to the binary grid.xml file that we will need to take
care of adding in if/when they come up.
M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc
- Finished implementing the writeGridBinary() function.
- Drop out of writeto_xml_files() immediately if not an I/O timestep. Previously it didn't
actually do anything, but it was not clear that it was not doing anything.
- Currently, to turn on binary output of grid.xml, you need to edit the code and
uncomment the writeGridBinary() call (and comment out the writeGridOriginal()).
Hopefully soon this will just be the default so we can get rid of the multiple
cases and extra code.
- Create a shared writeDataTextWriter() so that both the XML_TEXTWRITER and binary version
can share the code to dump the data.xml file.
- procOnLevel is a boolean array, so treat it as such.
- Swat some endls that take a lot more typing then just a \n.
- White space for better readability, update some formatting for consistency.
M CCA/Components/SimulationController/AMRSimulationController.cc
- Indentation is your friend.
- Remove tabs, line up code, white space.
M CCA/Components/SimulationController/SimulationController.cc
- Move local stdDeviation() routine to just above where it is used. Make static.
- Swat endls.
- White space for readability.
- Remove end of lines from exception messages where they are not needed.
M Core/DataArchive/DataArchive.h
M Core/DataArchive/DataArchive.cc
- Alphabetize #includes.
- Add a constant magic number to designate binary grid.xml files. Used by the code to verify
which version (xml vs binary) is being read. GRID_MAGIC_NUMBER
- Remove the "ref_cnt" and "lock" class variables as it appears they aren't used, and they don't
do anything. I believe they are left over vestiges of days long past.
- Remove "d_grid_path_and_filename" as all we need is the path and that is already stored.
- White space and consistent indentation.
- Added code to read in the new binary grid.xml files.
- Removed a huge "#if 0" section. Most likely left over from a previous version of UDA reading.
It would be good to converge on a single method and only have one set of code...
M Core/Grid/Grid.h
M Core/Grid/Grid.cc
- Add in readLevelsFromFileBinary() code to support DataArchive reading of new binary grid.xml.
As you can see from the (short) size of this routine, reading the binary version is much
simpler (especially compared to the streaming (non-DOM based) xml parsing that we also
currently do).
- Make use of longer lines as we non-longer are limites to 80 columns - where it makes sense.
- Add "{" to single line if statements as per coding standard.
- Remove some debug statements.
- Line up code for easier reading.
M Core/Grid/Level.cc
- White space / line up code for easier reading.
M Core/Grid/SimulationTime.cc
- White space / line up code for easier reading.
- Removed the deprecated "<max_iterations>" check. It hasn't been used in a long time.
M StandAlone/tools/puda/grid_reader.cc
- New, stand alone program to read a binary grid.xml file and display a human readable XML version.
- If you update this code, make sure it matches the writing in DataArchiver and the reading in
DataArchive.
M StandAlone/tools/puda/sub.mk
- Build grid_reader.
665 lines of code changed in 16 files:
Fix proc signature for tempaltes.
22 lines of code changed in 1 file:
Add in code from Sidharth to complete the update to allow for
switching between PIDX and UDA output. These changes come from Sid,
but I've cleaned up the syntax a little in some cases. I've tested
them against the local RT but not extensively against PIDX tests
themselves.
M CCA/Ports/Output.h
M CCA/Components/DataArchiver/DataArchiver.h
- Add setSaveAsUDA() and setSaveAsPIDX() functions.
M CCA/Components/DataArchiver/DataArchiver.cc
- White space.
- Guards to check for when using PIDX.
M CCA/Components/SimulationController/AMRSimulationController.cc
- When switching between PIDX and original UDA, let the 'output' (DataArchiver) know which to use.
- If using PIDX, only save timestep.xml for checkpoints.
M CCA/Ports/PIDXOutputContext.h
M CCA/Ports/PIDXOutputContext.cc
- Remove unnecessary ';' from outside of procedures.
- Move empty destructor from .cc file to .h file.
- Align variables / white space.
- Swat evil endl.
- Use variables names that describe their content, not non-meaningful names (eg: me).
- Pass args as const when they are.
- Use a single line for .h file procedures when they are only a single line. Makes reading
the 'spec' much easier.
- Don't mix printf and cout.
135 lines of code changed in 6 files:
Turning off the xml texwriter.
1 lines of code changed in 1 file:
Indentation is your friend.
2 lines of code changed in 1 file:
Main changes:
Fixes to allow "Nth proc output" to work based on simulation time and wall time.
Also skeleton for writing out grid.xml information in binary, but this is no where
near complete.
Moved the "adjustDelT()" call up higher in the main simulation time loop. Tests
appear to say this is fine, but note that delta t is now updated before regridding.
I assume regridding does not use delta t, but did not trace the code all the way through.
M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc
- Added in getNextCheckpointWalltime(), etc, as these were not exposed before and are
now needed by the SimulationController.
- Broke the grid.xml writing code out into separate procedures to make it less messy.
The grid writing in binary is just a stub at this point.
- Cosmetics: White space, untabify, alignment, etc.
M CCA/Components/SimulationController/AMRSimulationController.h
- Do NOT name variables with a single letter (eg: 't' is terrible). Renamed to 'time'.
(Unless in a very small, self-contained loop, and even then it is bad).
- Cosmetics.
M CCA/Components/SimulationController/AMRSimulationController.cc
- Add in checks to support "Nth rank output" based on simulation time and wall clock time.
- Moved adjustDelT() up a little higher in the main simulation loop. This should not be an
issue and all tests pass.
- Rename t -> time. DO NOT USE one letter variable names. Thank you.
- White space.
M CCA/Ports/Output.h
- Added interface for getNextCheckpointWalltime() and getCheckpointWalltimeInterval().
546 lines of code changed in 5 files:
Fix for GPU code: LoadBalancer -> LoadBalancerPort.
14 lines of code changed in 3 files:
(52 more)