[root]/CCA/Components/Application
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 71 (100.0%) | 2607 (100.0%) | 36.7 |
allen | 61 (85.9%) | 2258 (86.6%) | 37.0 |
ahumphrey | 3 (4.2%) | 285 (10.9%) | 95.0 |
harman | 2 (2.8%) | 55 (2.1%) | 27.5 |
dav | 1 (1.4%) | 6 (0.2%) | 6.0 |
jas | 4 (5.6%) | 3 (0.1%) | 0.7 |
Update and revive DW task access checking and RunningTaskInfo code.
Fixed a few other typos and formatting in these areas while under the hood.
2 lines of code changed in 2 files:
refactored the task graph index setting to be task based, added set/get for the index, Within arches refactor the dynamic stepping to be completing with DoRadiation and the fixed stepping in Explicit Solver, and added a check method for reduction vars
26 lines of code changed in 3 files:
Infrastructure restructuring and cleanup while starting last thesis-related task graph work.
Big things that I will always change when I see them.... and I saw much of this recently:
1.) ALWAYS use {} for 1-line conditionals.
if (<predicate>) {
// do stuff
}
2.) Use C++ static _cast over C-style casts, static_cast<int>(myvar) is checked at compile time, C casts are not and can fail at runtime.
3.) use "nullptr" over "0 or NULL" in the context of pointers and their assignment. Using NULL or 0 can be ambigous, e.g., compiler converting to non-pointer type 'int' from NULL (nullptr can't be assigned to an integral type). nullptr is a keyword and usage/intent is clear. From the standard: "The pointer literal is the keyword nullptr. It is an rvalue of type std::nullptr_t.".
4.) Things like Dout/Debugstreams that are specific to a compilation unit should be placed into an unnamed namespace (which is a utility to make an identifier translation unit local). The effect is almost identical to decalring something static.
5.) Use meanigful names, a bit lengthy is OK if it helps clarity. Remember, the compiler doesn't care about your names (values just go into registers), but the people maintaining your code do.. Code is meant to be read and maintained.
6.) Whitespace is our friend, but 80 column lines went away long ago.....
283 lines of code changed in 1 file:
removed the time from the getTaskGraphIndex interface and changed the name
3 lines of code changed in 2 files:
added an interface for creating a reduction var
13 lines of code changed in 2 files:
changed var to a min
1 lines of code changed in 1 file:
added the optional ability to get min and std dev stats
2 lines of code changed in 1 file:
minor rework of the reduction vars
171 lines of code changed in 4 files:
added access methods to the count and overriden flag
64 lines of code changed in 1 file:
added a count and overriden flag
16 lines of code changed in 1 file:
added parens and white space clean up
7 lines of code changed in 1 file:
changed default to zero so to be ignored
1 lines of code changed in 1 file:
added check to ignore conditional if the value is zero
8 lines of code changed in 1 file:
removed the start sim time and sim to wall time stats. Added friend class to the app. interface
19 lines of code changed in 2 files:
removed the recompile flag from app common and restructured the calls
25 lines of code changed in 2 files:
changed order of checks - inital check must be last
37 lines of code changed in 2 files:
update the warning to be clearer
5 lines of code changed in 1 file:
fixed spelling error and formatting
7 lines of code changed in 1 file:
added reading time spec attributes for output and checkpoint dumping when thresholds are met, refined the flags, minor name changes
239 lines of code changed in 2 files:
refined the application reduction var class
332 lines of code changed in 3 files:
removed tabs
10 lines of code changed in 1 file:
added more comments and revised the debug flag names for clarity
86 lines of code changed in 1 file:
set the default to false
1 lines of code changed in 1 file:
added reduction option for on demand output and checkpointing
46 lines of code changed in 2 files:
cleaned up the DOUT macros, consistent naming of timethresholds, added option to validate next delta before the reduction
362 lines of code changed in 2 files:
deprecated the SimulationTime class and moved it to be fully contained in the ApplicationCommon
188 lines of code changed in 2 files:
changed the delta T reduction to be last and modified the var name to match the xml name
46 lines of code changed in 2 files:
removal of shared state and introduction of a material manager
26 lines of code changed in 2 files:
added a managing class for application reduction variables
169 lines of code changed in 2 files:
made the recompute and abort reduction vars
123 lines of code changed in 2 files:
change from restart to recompute time step so to differentiate from restarting a time step from a checkpoint
22 lines of code changed in 2 files:
white space clean up
13 lines of code changed in 2 files:
reworked the boolean logic so that the wall time bcast is done only if needed
33 lines of code changed in 1 file:
set DOUTs to report on proc0 only and fixed the sim time
12 lines of code changed in 1 file:
change warnings to DOUTs
56 lines of code changed in 1 file:
ApplicationCommon:
reduceSystemVars()
- Added MPI::Allreduce for the flag dataWarehouse::d_restart. This only happens if an application is allowing timesteps to be restarted.
All ranks must know that a timestep has been restarted.
updateSystemVars()
- removed Bcast call.
- Only update simTime, on this rank, if the timestep has not been restarted
Schedulers::excute()
- Removed MPI::Allreduce code for the flag dataWarehouse::d_restart.
OnDemandDataWarehouse
- Removed redundant method setRestarted(). This functionality already exists.
Thanks Alan.
25 lines of code changed in 1 file:
added bcast for sync'ing the sim time
5 lines of code changed in 1 file:
added a flag to the app to know it is restarting
13 lines of code changed in 1 file:
Replaced tabs with spaces.
30 lines of code changed in 1 file:
This commit brings the PIDX data I/O branch (named: pidx_xml) back into the trunk.
All PIDX data I/O is, by default, turned off. To use PIDX you have to configure
against the PIDX library (either installing manually and pointing at it, or using
the --with-pidx flag (not 100% certain that this works at the moment)), and you must
set <DataArchiver type="PIDX"> (as opposed to the default which is type="UDA") in
the .ups input file.
Other caveats:
- Particles are not (currently?) supported in PIDX so any simulation that has a
particle data type will fail (most will print an error that PIDX does not
support them, but it seems some just die).
- Simulations that have overlapping patches (this may just be AMR type
sims) (eg: multibox_rmcrt_coal_1L) can save (slightly different) results.
In the multibox_rmcrt_coal_1L, we saw (only) a handful of differences like this:
((A 1 vs a 0 in a couple of locations) Also note that the UDA itself compared
successfully, but the checkpoint underneath it did not...)
DIFFERENCE [int 36, 5, 0] Time: 0.0003106658 Level: 0 Patch1: 0 Patch2: 0 Material: 0 Variable: areaFractionFX
multibox_RMCRT_coal_1L.uda/checkpoints goldStandard/.../multibox_RMCRT_coal_1L.uda/checkpoints
1 0
- "#if HAVE_PIDX" is used inconsistently through a number of files. Some PIDX stuff is #if'd out, while other code
is left in and compiles, it is just not used.
- There are a lot of cleanups that can and should take place wrt the PIDX integration.
While the code passes all the local RT tests (with the exception of particle tests),
I don't believe it has been run at large scale (though it should work) on a BGQ or Quartz@llnl.
Summary of changes: (Note, see pidx_xml branch commits if you want more information.)
M CCA/Ports/ApplicationInterface.h
M CCA/Components/Application/ApplicationCommon.h
- Added the ability to record (and retrieve) the number for the last regrid time step.
M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc
- When saving as PIDX, only create/output timestep.xml on the initial (I/O) time step that occurs after the regrid.
- Fixes that allow PIDX to save correctly (and efficiently) in parallel. If you are ever trying
to trace this back, read the comments from the commit logs for the "pidx_xml" branch.
- Remove createPIDX_dirs() as it was commented out and Sid tells me that PIDX creats its own dirs and we don't need this.
- Lot of white space fixes.
M CCA/Components/Examples/RMCRT_Test.cc
M CCA/Components/PostProcessUda/PostProcess.cc
- The DataArchive (DA) queryVariables() function now also returns the number of materials for each variable.
- "else" and "else if" should be on a separate line to make it easier to read.
M CCA/Components/Models/Radiation/RMCRT/RayGPU.cc
- Differentiate the output between the GPU and non-GPU reports so the viewer knows explicitly whether the GPU code was run.
M CCA/Components/Schedulers/OnDemandDataWarehouse.h
M CCA/Components/Schedulers/OnDemandDataWarehouse.cc
- Cosmetics: Line up variables, use more than 80 chars per line, white space.
Add in comments denoting default param values.
M CCA/Components/Schedulers/SchedulerCommon.cc
- Cosmetics.
M CCA/Components/SimulationController/AMRSimulationController.cc
- Cosmetics: Use more white space, 80+ chars per line for better readability, etc.
M CCA/Ports/PIDXOutputContext.h
- const'ify some params.
- checkReturnCode() is a static function so mark it so.
M CCA/Ports/PIDXOutputContext.cc
- White spacee. Code alignment for readability.
M Core/DataArchive/DataArchive.h
M Core/DataArchive/DataArchive.cc
- Add in PIDX functions. Note, queryPIDXSerial() is used (currently) by standalone codes (eg: puda).
Its purpose is to wrap the setupQueryPIDX()/queryPIDX() calls that have been added to
allow PIDX to truly run in parallel. At some point it would be good to update puda/compare_uda/etc
to run in parallel...
- See previous comments from PIDX branch for more details on the PIDX communicators that are necessary
to transfer data as some data does not live on all cores and thus can't use the golbal comm.
- Rename a few functions (queryAndSetParticlePositionName()) to be more accurate as to what they do.
- There are still a number of hacks in this code that need to be addressed (eg: var_materials map).
M Core/Geometry/IntVector.h
- Mostly cosmetics...
White space for readability.
Place 1-line functions in .h on one line to make it easier to see all provided functions.
M Core/Grid/Grid.cc
- White space, variable alignment for readability.
M Core/Grid/Level.h
M Core/Grid/Level.cc
- White space, coding standard (return type on its own line).
- Fix logic error in computeVariableExtents() that did not handle periodic boundaries correctly.
This fix was suggested as probably the correct way to do it by Todd... seems to pass tests and did fix
the issue (PIDX saving a particular something or other) that led me to it.
M Core/Grid/Patch.cc
- Place "else" on its own line for readability.
M Core/Grid/Variables/GridVariable.h
- Added emitPIDX().
- Opening "{" for functions in .h files goes on same line.
M Core/Grid/Variables/GridVariableBase.h
M Core/Grid/Variables/GridVariableBase.cc
- Organize #includes.
- White space, line up vars, etc for better readability.
- Return type on its own line.
M Core/Grid/Variables/ParticleData.h
- #include ParticleSubset.h for particleIndex.
M Core/Grid/Variables/ParticleSubset.h
- Cosmetic white space.
M Core/Grid/Variables/ParticleVariable.h
- White space, variable line up, etc.
- Added emitPIDX() function for particles. Note, particles do not fully work yet (on PIDX side).
And thus, this function hasn't really been tested.
M Core/Grid/Variables/ParticleVariableBase.h
M Core/Grid/Variables/ParticleVariableBase.cc
M Core/Grid/Variables/PerPatchBase.h
M Core/Grid/Variables/PerPatchBase.cc
M Core/Grid/Variables/ReductionVariableBase.h
M Core/Grid/Variables/ReductionVariableBase.cc
- Cosmetic white space. Coding standards. Etc.
M Core/Grid/Variables/Variable.h
M Core/Grid/Variables/Variable.cc
- Organize #includes.
- Use "const" on params that are const.
- Cosmetic white space, etc.
M Core/Grid/Variables/VarnameMatlPatch.h
- Pass non-changing strings by const reference (instead of copying them).
- White space for readability.
M Core/ProblemSpec/ProblemSpec.cc
- Line up vars, white space.
M R_Tester/helpers/compare_dat_files.pl
- Strip "/" from end of uda names.
- Clean up output to make it more readable (Todd I hope this doesn't break some of your scripts...)
M R_Tester/helpers/compare_dats
- White space.
M R_Tester/helpers/runSusTests.py
- Fix typo.
M StandAlone/compare_uda.cc
- White space.
- Line up vars.
- Coding standard.
- Line up case statement for better readability.
- 0 => nullptr
- query() now returns if the var was found (because PIDX has a list of all variables the simulation starts with
and the vars may not actually exist in the UDA.
- var => var_name (as it is actually the name, and not the var).
- Use 80+ columns.
M StandAlone/partvarRange.cco
M StandAlone/selectpart.cc
M StandAlone/tools/compute_Lnorm_udas.cc
M StandAlone/tools/dumpfields/dumpfields.cc
M StandAlone/tools/extractors/extractF.cc
M StandAlone/tools/extractors/extractS.cc
M StandAlone/tools/extractors/extractV.cc
M StandAlone/tools/extractors/faceextract.cc
M StandAlone/tools/extractors/lineextract.cc
M StandAlone/tools/extractors/partextract.cc
M StandAlone/tools/extractors/particle2tiff.cc
M StandAlone/tools/extractors/timeextract.cc
M StandAlone/tools/puda/AA_MMS.cc
M StandAlone/tools/puda/ER_MMS.cc
M StandAlone/tools/puda/GV_MMS.cc
M StandAlone/tools/puda/ICE_momentum.cc
M StandAlone/tools/puda/PIC.cc
M StandAlone/tools/puda/POL.cc
M StandAlone/tools/puda/asci.cc
M StandAlone/tools/puda/jacquie.cc
M StandAlone/tools/puda/jim1.cc
M StandAlone/tools/puda/jim2.cc
M StandAlone/tools/puda/jim3.cc
M StandAlone/tools/puda/pressure.cc
M StandAlone/tools/puda/puda.cc
M VisIt/interfaces/archiveInterface.cc
- queryVariables() now returns number of materials.
M StandAlone/tools/puda/varsummary.h
M StandAlone/tools/puda/varsummary.cc
- Swat some evil endls.
M build_scripts/build_pidx.sh
- FYI... Not sure if changing PIDX_TAG to "master" actually works...
M buildbot_try.sh
- Added a number of comments about use of this script.
- Fixed some typos.
- Spread command to multiple lines for readability.
6 lines of code changed in 1 file:
(4 more)