[root]/CCA/Components/OnTheFlyAnalysis
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 112 (100.0%) | 1639 (100.0%) | 14.6 |
harman | 24 (21.4%) | 1290 (78.7%) | 53.7 |
allen | 28 (25.0%) | 224 (13.7%) | 8.0 |
ahumphrey | 14 (12.5%) | 54 (3.3%) | 3.8 |
dav | 17 (15.2%) | 45 (2.7%) | 2.6 |
jas | 29 (25.9%) | 26 (1.6%) | 0.8 |
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().
43 lines of code changed in 16 files:
backed out sim state changes
2 lines of code changed in 2 files:
cleanup of the simulation state - most everything is now private
2 lines of code changed in 2 files:
white space cleanup
4 lines of code changed in 3 files:
changed to a more flexible wrapper for analysis vars and exposed vars when running in-situ
124 lines of code changed in 11 files:
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).
54 lines of code changed in 12 files:
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.
0 lines of code changed in 2 files:
included statistic.cc
1 lines of code changed in 1 file:
ICE, SerialMPM, MPMArches
- added machinery for calling AnalysisModule:outputProblemSpec()
OnTheFlyAnalysis (all modules)
- added virtual function outputProblemSpec
- added virtual function scheduleRestartInitialize()
ProblemSpec
- Added method findBlockWithAttributeValue()
<It should have been added years ago.>
Statistics.cc/h New Module:
Computes the 1st, 2nd, 3rd and 4th order moments over the entire domain
Computes u'v' u'w' v'w'
UPS spec:
<Module name = "statistics">
<timeStart> 0.001 </timeStart>
<timeStop> 100 </timeStop>
<material> Air </material>
<computeHigherOrderStats> true </computeHigherOrderStats>
<Variables>
<analyze label="press_CC" matl="0"/>
<analyze label="temp_CC" matl="1"/>
<analyze label="vel_CC" matl="1" computeReynoldsStress="true" />
</Variables> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</Module>
1289 lines of code changed in 23 files:
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.
2 lines of code changed in 1 file:
removed one dir level
1 lines of code changed in 1 file:
added one more dir level
8 lines of code changed in 1 file:
cleaned up file creation and reporting
17 lines of code changed in 2 files:
added control message to alert user method was invoked.
3 lines of code changed in 1 file:
added white space for readability
1 lines of code changed in 1 file:
changed the cout to cout_doing
6 lines of code changed in 1 file:
moved the analysis over to a global struct for commication with VisIt
47 lines of code changed in 2 files:
made the min max struct public
9 lines of code changed in 1 file:
Update copyright date to 2016.
26 lines of code changed in 29 files: