Directory CCA/Components/DataArchiver/

Total Files:
3
Deleted Files:
0
Lines of Code:
3761

[root]/CCA/Components/DataArchiver

Lines of Code

CCA/Components/DataArchiver/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 111 (100.0%) 3808 (100.0%) 34.3
harman 56 (50.5%) 1915 (50.3%) 34.1
dav 16 (14.4%) 1339 (35.2%) 83.6
jas 10 (9.0%) 290 (7.6%) 29.0
ahumphrey 14 (12.6%) 155 (4.1%) 11.0
allen 14 (12.6%) 107 (2.8%) 7.6
sidharth 1 (0.9%) 2 (0.1%) 2.0

Most Recent Commits

allen 2016-11-22 13:02 Rev.: 56009

added missing ifdef

0 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (changed)
allen 2016-11-22 12:55 Rev.: 56007

added new output for saving variable modified in the in-situ

62 lines of code changed in 3 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+61 -6), DataArchiver.h (new)
dav 2016-11-01 15:08 Rev.: 55931

<checkpoint> walltimeStart and walltimeInterval are in integer seconds.

2 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+2 -2)
allen 2016-10-14 15:59 Rev.: 55885

fixed boolean chaeck and added modified var mapper for saving vars in the timestep.xml file

1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
dav 2016-10-04 14:23 Rev.: 55838


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.


1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
dav 2016-10-03 19:22 Rev.: 55834


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.


34 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+34 -30)
dav 2016-10-03 14:53 Rev.: 55828

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.


193 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+182 -120), DataArchiver.h (+11 -3)
dav 2016-09-27 14:17 Rev.: 55803


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.



20 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+16 -15), DataArchiver.h (+4)
dav 2016-09-23 11:53 Rev.: 55789

Turning off the xml texwriter.

1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
dav 2016-09-21 12:53 Rev.: 55778


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().

488 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+428 -333), DataArchiver.h (+60 -58)
dav 2016-09-19 17:47 Rev.: 55766

The main changes in this commit only effect a simulation when <outputNthProc> is
set (> 1) in the .ups file.

This commit allows for PIDX output on every process for a time step
output, while using every Nth process (if so specified) for UDA
checkpoint output. Eventually the need for this Nth Proc changing
hack (and Nth proc output itself) should go away when PIDX fully takes
over I/O.

Note, when using "Nth Process Output", both a checkpoint and a time step save
CANNOT occur on the same time step. Therefore the time step output is postponed
for one time step.

On a slightly different note, we use the term proc badly... we should use process,
or perhaps better yet, rank... as proc is usually taken to mean "processor", but
in MPI's case, means process - and the term MPI uses for process is rank.

D CCA/Ports/LoadBalancer.cc
D CCA/Ports/LoadBalancer.h
A + CCA/Ports/LoadBalancerPort.cc
A + CCA/Ports/LoadBalancerPort.h

- Renamed from LoadBalancer to LoadBalancerPort to avoid confusion with the LoadBalancer itself.
- Added "setNthProc()" so that the SimulationController can change the value as needed.

M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc

- Added postponeNextOutputTimestep(). This pushes off the output of a time step by one
time step. (This occurs if using Nth Process Output and a checkpoint and a time step
where to occur on the same time step.)
- Added savingAsPIDX() boolean query function so that the SimulationController
can avoid doing all of this hack when we are not using PIDX.
- Removed "getCurrentTimestep()" and "getCurrentTime()", as, per the documentation on them,
they should not be used anyway; you should get this info from the shared state. Note,
the DataArchiver name (getCurrentTime()) is different from the shared state name
(getElapsedTime()) which was also confusing.
- Pass const string parameters by reference.
- White space cleanup / alignments.

- If the input file has no <save> labels, but specifies an output interval, throw an exception.
- If the 'logname' is not available when running a simulation, put 'unknown' instead of ignoring.
Should probably find a better fix then 'unknown', but that will have to wait for another day.
- Swat some evil endls. :)
- Don't calculate 'currsecs' on every process, just on rank 0.
- Removed all calls to usingMPI() as Alan deprecated it in a recent commit.
- procOnLevel is (I hope) a boolean array... so declare and use it as such.
- Don't name a variable with a single letter. n -> var_cnt

- Did I mention white space cleanups... Please for the sake of older eyes...

M CCA/Components/ICE/ICE.cc
M CCA/Components/Models/FluidsBased/AdiabaticTable.cc
M CCA/Components/Models/FluidsBased/NonAdiabaticTable.cc
M CCA/Components/Models/FluidsBased/NonAdiabaticTable.h
M CCA/Components/Models/FluidsBased/SimpleRxn.cc
M CCA/Components/Models/FluidsBased/SimpleRxn.h
M CCA/Components/Models/Radiation/RMCRT/Radiometer.cc
M CCA/Components/OnTheFlyAnalysis/MinMax.cc
M CCA/Components/OnTheFlyAnalysis/1stLawThermo.cc
M CCA/Components/OnTheFlyAnalysis/containerExtract.cc
M CCA/Components/OnTheFlyAnalysis/lineExtract.cc
M CCA/Components/OnTheFlyAnalysis/momentumAnalysis.cc
M CCA/Components/OnTheFlyAnalysis/particleExtract.cc
M CCA/Components/OnTheFlyAnalysis/planeExtract.cc
M CCA/Components/OnTheFlyAnalysis/statistics.cc

- Use shared state getElapsedTime()
- Naming conventions: sharedState -> d_sharedState (to match other class vars in file).
- White space / alignments / etc.

M CCA/Components/LoadBalancers/CostProfiler.cc

- White space separation of #includes between CCA and Core

M CCA/Components/Arches/PressureSolverV2.cc
M CCA/Components/Arches/Radiation/RadPetscSolver.cc
M CCA/Components/Examples/Poisson2.cc
M CCA/Components/Examples/DOSweep.cc
M CCA/Components/Examples/RMCRT_Test.cc
M CCA/Components/Examples/RegridderTest.cc
M CCA/Components/Examples/SolverTest1.cc
M CCA/Components/FVM/ElectrostaticSolve.cc
M CCA/Components/ICE/impAMRICE.cc
M CCA/Components/ICE/impICE.cc
M CCA/Components/LoadBalancers/CostProfiler.h
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
M CCA/Components/MPM/AMRMPM.cc
M CCA/Components/MPM/ImpMPM.cc
M CCA/Components/MPM/SerialMPM.cc
M CCA/Components/Parent/Switcher.cc
M CCA/Components/ReduceUda/UdaReducer.h
M CCA/Components/ReduceUda/UdaReducer.cc
M CCA/Components/Regridder/RegridderCommon.h
M CCA/Components/Regridder/RegridderCommon.cc
M CCA/Components/Regridder/SingleLevelRegridder.cc

- LoadBalancer -> LoadBalancerPort
- White space cleanup / alignments.

M CCA/Components/LoadBalancers/LoadBalancerCommon.h
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc

- LoadBalancer -> LoadBalancerPort.
- Add setNthRank().
- getOutputProc() -> getOutputRank().
- Whitespace / alignment.
- Fix comment to indicate getOutputProc is returning an MPI rank.

M CCA/Components/LoadBalancers/ProfileDriver.h
M CCA/Components/LoadBalancers/ProfileDriver.cc
M CCA/Components/Regridder/TiledRegridder.cc
M CCA/Components/Schedulers/MPIScheduler.cc
M CCA/Components/Schedulers/SchedulerCommon.h
M CCA/Components/Schedulers/SchedulerCommon.cc

- Cosmetics: Whitespace / alignment / coding standards / alphabetize #includes / etc.
- LoadBalancer -> LoadBalancerPort

M CCA/Components/Schedulers/OnDemandDataWarehouse.h
M CCA/Components/Schedulers/OnDemandDataWarehouse.cc
M CCA/Components/Schedulers/Relocate.h
M CCA/Components/Schedulers/Relocate.cc

- Name class variables according to naming convention. (eg: aborted -> d_aborted).
- Be consistent with naming convention of class variables in same file.
- LoadBalancer -> LoadBalancerPort.

M CCA/Components/Schedulers/TaskGraph.h
M CCA/Components/Schedulers/TaskGraph.cc

- LoadBalancer -> LoadBalancerPort.
- White space. Name variable "subset" more accurately: "handling_rank". I don't know
why it was named "subset" to begin with as it doesn't appear to be a "set" to me...

M CCA/Components/Schedulers/UnifiedScheduler.cc

- White space.

M CCA/Components/SimulationController/AMRSimulationController.cc

- There are a lot of cosmetic cleanups in this file, but the real/main change is:
- Add in hack to handle changing from "nth process output" (for checkpoints) to
"1 process output" (for time steps) when running with PIDX (and nth process is > 1).
- Declare variables (start) where they are used, not at the top of a function.
- Move the terminal output of the 0th timestep out of the main simulation loop.
- White space / alignment / etc.
- LoadBalancer -> LoadBalancerPort.

M CCA/Components/SimulationController/SimulationController.h
M CCA/Components/SimulationController/SimulationController.cc
M CCA/Components/Solvers/AMR/AMRSolver.cc
M CCA/Components/Solvers/AMR/HypreDriver.cc
M CCA/Components/Solvers/AMR/HypreDriverStruct.cc
M CCA/Components/Solvers/CGSolver.cc
M CCA/Components/Solvers/HypreSolver.cc
M CCA/Components/Wasatch/Expressions/Coordinate.cc
M CCA/Components/Wasatch/Expressions/PoissonExpression.cc
M CCA/Components/Wasatch/Expressions/Pressure.cc
M CCA/Components/Wasatch/Expressions/RadiationSource.cc
M CCA/Components/Wasatch/Wasatch.cc
M CCA/Ports/Scheduler.h
M CCA/Ports/sub.mk
M Core/DataArchive/DataArchive.h
M Core/DataArchive/DataArchive.cc
M Core/Grid/Grid.h
M Core/Grid/Grid.cc
M Core/Grid/Level.h
M Core/Grid/Level.cc
M StandAlone/tools/uda2vis/uda2vis.cc

- LoadBalancer -> LoadBalancerPort.
- Cosmetic white space, alpha, etc.

M CCA/Ports/Output.h

- Removed getCurrentTimestep() and getCurrentTime() as the user should get
them from the shared state.
- Added postponeNextOutputTimestep().
- Added savingAsPIDX().



224 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+185 -180), DataArchiver.h (+39 -37)
ahumphrey 2016-09-17 15:54 Rev.: 55755

Remove SingleProcessor Scheduler/LoadBalancer.

Most of the work here has been in removing the need for Parallel::determineIfRunningUnderMPI(), as running Uintah with MPI is now an invariant, even with only a single process. We ALWAYS run Uintah with MPI.

The last simple step will be to remove usage of Parallel::usingMPI() (which now simply returns true), and also do away with the "-mpi" command line option. Right now sus has been modified to silently ignore "-mpi" and once the nightly RT scripts have been modified, we can deprecate usage.

Note that the following examples of a single process run are synonymous and all use the MPI scheduler with 1 rank:

./sus input.ups
./sus -mpi input.ups
mpirun -np 1 ./sus input.ups
mpirun -np 1 ./sus -mpi input.ups

1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
allen 2016-08-17 11:51 Rev.: 55652

Second try to clean up the SimState

2 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+2 -2)
allen 2016-08-16 15:35 Rev.: 55648

added debug streams and state vars

14 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+14)
allen 2016-08-16 14:33 Rev.: 55646

backed out sim state changes

4 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+2 -17), DataArchiver.h (+2 -2)
allen 2016-08-15 17:14 Rev.: 55638

cleanup of the simulation state - most everything is now private

19 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+17 -2), DataArchiver.h (+2 -2)
ahumphrey 2016-07-06 12:15 Rev.: 55486

Significant refactoring of Level and LoadBalancerCommon prior to adding in per-level max_ghost_cells machinery.

1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
dav 2016-06-21 14:17 Rev.: 55456

Get rid of warning - ConsecutiveRangeSet is already in Uintah namespace.

0 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.h (-2)
ahumphrey 2016-06-21 13:57 Rev.: 55453

Redirect all MPI calls through the lightweight wrapper (header only)

This allows for standardized error checking and easy collection of runtime stats. All MPI funtions can be called from the wrapper by replacing:

MPI_ with Uintah::MPI::
e.g.
Uintah::MPI::Isend(...)
Uintah::MPI::Reduce(...)

Also enables MPI3 wrappers when MPI3 is available and protects against these when not. Will want MPI3 for non-blocking collectives. MPI3 is availalbe on Mira but not Titan yet.

* Note src/scripts/wrap_mpi_calls.sh has been added to the src tree. This has the sed foo to do this replacement src tree-wide.

* Have tested this with OpenMPI, MPICH, IntelMPI and also built on Titan and Mira.

25 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+25 -25)
ahumphrey 2016-06-21 10:33 Rev.: 55452

* Use variadic templates to simplify and generalize Action and Task constructors.

* Added utility class (header-only), src/Core/Util/TupleHelpers.hpp, that provides a clean way to deal with template or function parameter packs.

To see the utility in the amount of code reduction this achieves, compare Task.h now and with the previous revision. We have one Action and Task CTOR for CPU and GPU, instead of 5 overloads (for each, CPU adn GPU) and can now take in an arbitrarty number of additional arguments.

Refactor Task class and supporting classes:
* member naming convention - m_
* use nullptr comparison/checks over checks for 0
* heavy cleanup and formatting throughout

5 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+5 -5)
ahumphrey 2016-06-14 21:26 Rev.: 55445

Revert -r55443, until folks can get compilers upgraded and buildbot MPI is updated.

25 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+25 -25)
ahumphrey 2016-06-14 13:47 Rev.: 55443

Redirect all MPI calls through the lightweight wrapper (header only)

This allows for standardized error checking and easy collection of runtime stats. All MPI funtions can be called from the wrapper by replacing:

MPI_ with Uintah::MPI::
e.g.
Uintah::MPI::Isend(...)
Uintah::MPI::Reduce(...)

Also enables MPI3 wrappers when MPI3 is available and protects against these when not. Will want MPI3 for non-blocking collectives. MPI3 is availalbe on Mira but not Titan yet.

* Note src/scripts/wrap_mpi_calls.sh has been added to the src tree. This has the sed foo to do this replacement src tree-wide.

* Have tested this with OpenMPI, MPICH, IntelMPI and also built on Titan and Mira.

25 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+25 -25)
ahumphrey 2016-06-13 11:46 Rev.: 55440

Replace usage of NULL macro (type int) with nullptr (pointer literal of type: nullptr_t).

nullptr is implicitly convertible and comparable to any pointer type or pointer-to-member type, but is not implicitly comparable to integral types, except that it is convertible to bool (explicitly).

16 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+15 -15), DataArchiver.h (+1 -1)
ahumphrey 2016-06-10 12:31 Rev.: 55430

Revert r55429.

Still having an MPICH/OpenMPI compatibility problem.

25 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+25 -25)
ahumphrey 2016-06-10 11:38 Rev.: 55429

Redirect all MPI calls through the lightweight wrapper (header only)

This allows for standardized error checking and easy collection of runtime stats. All MPI funtions can be called from the wrapper by replacing:

MPI_ with Uintah::MPI::
e.g.
Uintah::MPI::Isend(...)
Uintah::MPI::Reduce(...)

Also enables MPI3 wrappers when MPI3 is available and protects against these when not. Will want MPI3 for non-blocking collectives. MPI3 is availalbe on Mira but not Titan yet.

* Note src/scripts/wrap_mpi_calls.sh has been added to the src tree. This has the sed foo to do this replacement src tree-wide.

25 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+25 -25)
ahumphrey 2016-06-07 09:19 Rev.: 55420

Removal of src/Core/Thread and related refactoring throughout the code-base.

This is the first step in a series of infrastrucutre overhauls to modernize Uintah. Though this all passes local RT (both CPU and GPU tests), I expect some fallout we haven't considered and will be standing by to deal with any issues. Once the dust settles, we will move to replacing Core/Malloc with jemalloc.

* We are now using the standard library for all multi-threading needs within the infrastructure, e.g. std::atomic, std::thread, std::mutex, etc.

* The Unified Scheduler is now the only multi-threaded scheduler, e.g. ThreadedMPIScheduler no longer exists (though the source will soon be placed into an attic).

* Threads spawned by the Unified Scheduler are detached by default (not joinable), allowing for easy, clean and independent execution. There are no longer ConditionVariables used to signal worker threads, just a simple enum for thread-state.

* What was Core/Thread/Time.* is now Core/Util/Time.* - a next step will be to migrate all internal timers, etc to use std::chrono.

* NOTE: Though much cleanup has occurred with this commit, there is still significant cleanup and formatting to be done. The scope of this commit neccessitates a more incremental approach.

7 lines of code changed in 4 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+2 -3), DataArchiver.h (+5 -3), sub.mk (new)
jas 2016-03-15 18:26 Rev.: 55036

Eliminate SCIRun namespace usage.

1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
jas 2016-03-15 18:24 Rev.: 55024

Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.

2 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (-1), DataArchiver.h (+2 -2)
dav 2016-03-14 13:57 Rev.: 55020


Fix for bizarro ostringstream "bug". While this same code (well, almost the exactly the same, but moved
around a little) has been working since Uintah was created, for some reason, and only on some debug builds,
this "bug" has surfaced. The problem is that the ".str()" operator on an ostringstream returns a "temporary"
string, so that when you use ".c_str()" on it and store the result for later use, the ".str()" can
deallocate itself and thus make the ".c_str()" invalid. The solution to this is to copy the ".str()" out
of the ostringstream and into its own std::string variable and then use the ".c_str()" on that new
variable. Again, I cannot for the life of me imagine why this just started to show up and only in
some situations. However, this should fix it. Note, I say "bug" because in theory this is the defined
behavior for "str()", though according to google, not many people know this. -Dd

8 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+8 -1)
dav 2016-03-14 00:56 Rev.: 55019

This commit changes the way Uintah checks for the file system it
will use to save UDAs. Previously (and still available via a
command line flag to sus) Uintah had every process create a file,
and then every other process look for (some of the files) in order
to determine if everyone was running on the same file system or on
a local system. Currently we don't use any machines that have
local (per node) disks, so we don't need to do this work and,
because on 100K+ jobs, this hammers the file system, can take
minutes, and possibly cause errors, we will now default to assuming
a shared file system (we do a single file check for this).

M CCA/Components/SimulationController/AMRSimulationController.cc

- Remove warning by putting VISIT var into #if HAVE_VISIT.

M CCA/Components/SimulationController/SimulationController.h
M CCA/Components/SimulationController/SimulationController.cc

- Store d_usingLocalFileSystems in the shared state.

M CCA/Components/MPM/ReactionDiffusion/NonLinearDiff1.cc

- Remove warning by putting unused var inside #if.

M CCA/Components/OnTheFlyAnalysis/MinMax.cc
M CCA/Components/ICE/ICE.cc

- Replace GetVisIt() with renamed getVisIt().

M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc

- Main changes to file system check in this file.
- Re-wrote the check for a common FS in setupSharedFileSystem().
- Mostly has process 0 create a file and all the others look for it.
- Put old code that was in initializeOutput() into setupLocalFileSystems().

M CCA/Components/Schedulers/SingleProcessorScheduler.cc
M CCA/Components/Schedulers/UnifiedScheduler.cc
M CCA/Components/Schedulers/MPIScheduler.cc
M CCA/Components/Schedulers/ThreadedMPIScheduler.cc
M CCA/Components/Schedulers/DynamicMPIScheduler.cc

- Minor white space.

M CCA/Components/Schedulers/SchedulerCommon.h
M CCA/Components/Schedulers/SchedulerCommon.cc

- Update names of some class variables to be consistent (_) with
naming convention in file.
- OCD formatting.

M R_Tester/helpers/runSusTests.py
M R_Tester/toplevel/generateGoldStandards.py

- Fix generateGoldStandards check for correct version of python (need 2.7 or better).
- Update "print" statement to be "print()". This allows local RT python scripts
to run under python 3.

M Core/Grid/SimulationState.h
M Core/Grid/SimulationState.cc

- Added d_usingLocalFileSystems var. Few minor whitespace fixes.
- Uintah uses lower case letters to begin functions. Updated setVisIt() and getVisIt()).

M StandAlone/inputs/MPM/disks.ups

- Minor whitespace edit.

M StandAlone/sus.cc

- Check for/handle new command line arg: -local_filesystem
- Most likely no one will ever use this...
- As we do note have access to a system with local file systems, this has not been
tested but the code just passes through to the original code for checking
for a local FS.
- Minor whitespace / formatting.

368 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+357 -198), DataArchiver.h (+11)
harman 2016-03-08 17:24 Rev.: 54990

DataArchiver::problemSetup()
- fixed logic error when wallTimeInterval is specified. -Alan

- output checkpoint specs for user.

14 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+14 -9)
harman 2016-03-07 18:39 Rev.: 54985

PIDXOutputContext:: initialize()
- only set compression flag if it is a normal output timestep.

PIDXOutputContext::computeBoxSize()
- added infrastructure to compute the size of the pidx box. To be filled in.


1 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+1 -1)
harman 2016-03-06 18:35 Rev.: 54977

added empty methods so you can compile without PIDX enabled.
moved bulletproofing upstream to PIDXOutputContext.

0 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (-10)
harman 2016-03-06 17:35 Rev.: 54976

added plumbing PIDX_flags() that's used for
setting PIDX output switches & flags via the ups file.

<DataArchiver type="PIDX">

<PIDX>
<outputRawIO> true </outputRawIO>
<combinePatches> [2,2,2] </combinePatches>
<debugOutput> false </debugOutput>
<compressionType> NONE </compressionType>
</PIDX>
</DataArchiver>

Still need to do something with combinePatches.

7 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+4 -5), DataArchiver.h (+3 -1)
harman 2016-03-03 11:52 Rev.: 54967

PIDX output:
- added exception. Only 1 patch per MPI rank.

13 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+13 -5)
harman 2016-03-02 17:14 Rev.: 54952

PIDX code:
store the idx filename in pxxxxx.xml, not the full path. Hopefully, this commit will eliminate
some amount of confusion.



12 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+10 -7), DataArchiver.h (+2 -1)
harman 2016-03-02 11:17 Rev.: 54945

PIDX section:

Throw an exception if the variable type isn't supported, NCVariablables and Particles.

41 lines of code changed in 2 files:

  • CCA/Components/DataArchiver: DataArchiver.cc (+34), DataArchiver.h (+7 -1)
harman 2016-03-01 17:08 Rev.: 54940

more descriptive variable name

10 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+10 -10)
jas 2016-02-19 16:51 Rev.: 54864

Increase the precision to 17 digits to match the DOM version for floating point numbers.

3 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+3 -3)
harman 2016-02-18 17:27 Rev.: 54858

DataArchiver.cc saveLabels_PIDX()
- updated ToDo list
- removed t_buffer, it's not needed.
- updated call to printBuffer()

PIDXOutput
- created a wrapper for printBuffer to take into account CCVariable<int>.
- changed the form of the hard wired equation used for debugging buffer.


11 lines of code changed in 1 file:

  • CCA/Components/DataArchiver: DataArchiver.cc (+11 -22)

(40 more)

Generated by StatSVN 0.7.0