Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 143 (100.0%) | 1992 (100.0%) | 13.9 |
harman | 30 (21.0%) | 842 (42.3%) | 28.0 |
ahumphrey | 23 (16.1%) | 676 (33.9%) | 29.3 |
dav | 18 (12.6%) | 397 (19.9%) | 22.0 |
jas | 57 (39.9%) | 38 (1.9%) | 0.6 |
allen | 12 (8.4%) | 21 (1.1%) | 1.7 |
tsaad | 1 (0.7%) | 15 (0.8%) | 15.0 |
sidharth | 1 (0.7%) | 2 (0.1%) | 2.0 |
bpeterson | 1 (0.7%) | 1 (0.1%) | 1.0 |
added new output for saving variable modified in the in-situ
8 lines of code changed in 2 files:
changed var name for clarity
0 lines of code changed in 2 files:
Use d_ naming convention. Default <PIDX> tag vars to avoid segfaults. White space.
0 lines of code changed in 4 files:
Some cleanup before working toward support for multiple "Normal" task-graphs.
This work aims to support a single compilation phase for >1 distinct TGs, and will cycle between them on specific timesteps. Precisely this support is for radiation and non-radiation timesteps within Arches. This way we avoid the continual hit from TG recompilation for RMCRT radiation timesteps.
Ripped out some unused source and header files from 1994.
21 lines of code changed in 1 file:
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.
84 lines of code changed in 3 files:
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().
9 lines of code changed in 1 file:
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().
234 lines of code changed in 8 files:
backed out sim state changes
3 lines of code changed in 2 files:
cleanup of the simulation state - most everything is now private
3 lines of code changed in 2 files:
Significant refactoring and clenaup in schedulers and loadbalancers prior to assesment of the required changes to the MPI engine to support Kokkos views. Also moving away from all mutex protected debug output, in favor of the light-weight, printf-based Dout class and DOUT macros. We now get fully coherent debug output, regardless of the proc/thread counts. Also moving to standardized naming conventions for class, static, thread-local and global variables.
93 lines of code changed in 3 files:
Introduction of the Lockfree Pool data structure and the new CommunicationList. Using this now to replace CommRecMPI and its use of the problematic MPI_Testsome() and MPIWaitsome() calls. We now store individual requests in a lock/wait/contention free Pool and call MPI_Test() and MPI_Wait on individual MPI_Requests.
This fixes the MPI_Buffer memory leak seen in the threaded scheduler, in which multiple threads think they will recieve a message, allocate a buffer and then only one thread does the actual recieve and calls the after-communcation handler to clean up the buffer. This memory leak was most pronounced at large scale with RMCRT due to the global halo requirement.
Also backing out the support for non-uniform ghost cells across AMR levels for now, until the issue of some required messages not being generated from coarse radiation mesh to some ranks. This has to do within partial dependencybatches being created due to an incomplete processor neighborhood list across levels.
MISC:
* cleaned up some old TAU remnants in doc directory and build system
* refactor and cleanup in MPIScheduler
* removed unused source code, including the old ThreadedScheduler (only one threaded scheduler now - Unified)
* cleaned up non-existent entreis in environmentalFlags.txt
0 lines of code changed in 1 file:
Allow ghost cell requirements to vary across levels for tasks scheduled on the fine level, e.g. RMCRT_DO. This reduces the LoadBalancer::createNeighborhood complexity for RMCRT_DO significantly, e.g. from 45 minutes to 15 seconds with 64^3 patches on the fine level.
NOTE: This is a unique case and the solution was a trade off: a simple design for the edge-case far outweighed the complexity a generalized solution involved. This was effectively the addition of one integer in Task and SchedulerCommon and some simple logic elsewhere.
Also fixed some logic on sched_rayTrace_dataOnion to more clearly cycle through course levels for requriements.
4 lines of code changed in 1 file:
Significant refactoring of Level and LoadBalancerCommon prior to adding in per-level max_ghost_cells machinery.
59 lines of code changed in 1 file:
added methods for getting the ReductionVariable
5 lines of code changed in 2 files:
Reorganize the way we include MPI. Previously files were including the mpi_defs.h (configure generated file) to get mpi.h. Now they
include UintahMPI.h (from Core/Parallel/).
Note: MPI is now required (though for all intents and purposes it already was). You can still run a serial version of the code,
you just must compile/link with MPI first.
M configure
M configure.ac
- Fix check for xml2-config.
- Fix check for mpi.h location when using 'built-in' (fixes issue with non-mpich MPIs).
- Check to see if MPI handles const correctly.
- Fix some indentation.
- No longer define HAVE_MPI or HAVE_MPICH as we require MPI now.
- Added defines for MPI_CONST_WORKS, and MPI_MAX_THREADS and MPI3_ENABLED (thought the last 2 are hard-coded and need
to have configure tests written for them).
M include/sci_defs/mpi_testdefs.h.in
- Added MPI_CONST_WORKS, MPI_MAX_THREADS, and MPI3_ENABLED #defines.
- Moved the MPI wrappers into UintahMPI.h (thus out of this configure generated file).
D include/sci_mpi.h
- Removed sci_mpi.h as it is not used and its only purpose was to allow for compilation without MPI. This
is no-longer allowed (and probably hadn't worked in a long time).
A Core/Parallel/UintahMPI.h
- Added the new file UintahMPI.h which is used to #include <mpi.h> and wrap the MPI calls.
- These wrappers were in mpi_testdefs.h.
- Replaced most of the "const" with MPICONST so that on non-const-compliant MPIs they
can be turned off (this is done through a configure check).
- Grouped a lot of the UINTAH_ENABLE_MPI3 sections into single #if's instead of having a #if for each line.
M CCA/Components/Arches/fortran/sub.mk
- Remove tabs from where they are not supposed to be.
M CCA/Components/MPM/PetscSolver.h
M CCA/Components/ICE/PressureSolve/HypreStandAlone/Hierarchy.cc
M CCA/Components/ICE/PressureSolve/HypreStandAlone/mpitest.cc
M CCA/Components/ICE/Advection/FluxDatatypes.h
M CCA/Components/Schedulers/OnDemandDataWarehouse.h
M CCA/Components/Schedulers/BatchReceiveHandler.h
M CCA/Components/Schedulers/templates.cc
M CCA/Components/Schedulers/Relocate.h
M CCA/Components/Schedulers/MPIScheduler.cc
M CCA/Ports/PIDXOutputContext.h
M Core/Grid/Variables/Stencil4.cc
M Core/Grid/Variables/ReductionVariableBase.h
M Core/Grid/Variables/Stencil7.cc
M Core/Grid/Variables/SoleVariableBase.h
M Core/Parallel/ProcessorGroup.h
M Core/Parallel/PackBufferInfo.h
M Core/Parallel/BufferInfo.h
M Core/Disclosure/TypeDescription.h
M Core/Util/DOUT.hpp
M Core/Util/InfoMapper.h
M StandAlone/tools/mpi_test/async_mpi_test.cc
M StandAlone/tools/mpi_test/mpi_hang.cc
M StandAlone/tools/mpi_test/mpi_test.cc
M StandAlone/tools/fsspeed/fsspeed.cc
- Proper indentation.
- Replaced mpi_defs.h with UintahMPI.h.
- Use <> for includes and not "" per Uintah conding standard.
- Added comment for the #endif of the #ifndef compiler guard for the .h file.
Moved some #ifndef .h compiler guards to the very top of the file.
M testprograms/Malloc/test11.cc
M testprograms/Malloc/test12.cc
M testprograms/Malloc/test13.cc
- Fix indentation.
- "__linux" doesn't exist on some systems, so added "__linux__".
Probably could remove the __linux, but not sure so I didn't.
M VisIt/libsim/visit_libsim.cc
- Use #include <>.
M StandAlone/sus.cc
- Remove the code for old MPI versions. We don't support MPI v1 any more.
48 lines of code changed in 1 file:
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.
98 lines of code changed in 2 files:
Revert -r55443, until folks can get compilers upgraded and buildbot MPI is updated.
98 lines of code changed in 1 file:
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.
98 lines of code changed in 1 file:
change comm to use the correct NULL and is no longer a member var
2 lines of code changed in 2 files:
Fix PIDOutputContext compiler error related to NULL->nullptr replacement. My sed-foo accidentally clipped this one.
2 lines of code changed in 1 file:
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).
6 lines of code changed in 7 files:
Revert r55429.
Still having an MPICH/OpenMPI compatibility problem.
98 lines of code changed in 1 file:
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.
98 lines of code changed in 1 file:
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.
1 lines of code changed in 2 files:
Fix a bad bug in the SolverParameters base class that essentially set the Matrix setup frequency to 1 - ALWAYS. Unless the user specifies setupFrequency in the input file or the component developer casts the SolverParameters as a HypreSolver2Params, the setupFrequency is always set to 1. This likely impacted all Wasatch results that required a linear solver since Feb 2014. I think the setupFrequency should not be specified by the user from the input file. In addition, if the Matrix stencil is not changing, then there's no need to re-setup the matrix. Instead, I added a new option updateCoefFrequency that allows one to keep the Matrix structure intact but only update the coefficients. Test this via setUpdateCoefFrequency. I also added this option to the Uintah ups spec. This commit should not impact Arches simulations since Arches sets the setupFrequency through the input file. This commit will break many Wasatch RT tests with minor diffs.
15 lines of code changed in 1 file:
removed PIDX_compression.h include.
0 lines of code changed in 1 file:
Eliminate SCIRun namespace usage.
1 lines of code changed in 1 file:
Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.
7 lines of code changed in 10 files:
level
- added machinery to return the max number of cells in a patch, over all patch.
nCellsPatch_max(). Needed my PIDX only.
PIDX:
- fixed a corner case bug when computing the outputPatchSize.
13 lines of code changed in 2 files:
Global:
changed variable name combinePatches -> outputPatchSize
PIDXOutputContext::computeBoxSize
- added crude logic to determine the best outputPatchSize if it's not specified
by the user. There is an issue that will be rectified in the future.
63 lines of code changed in 2 files:
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.
84 lines of code changed in 2 files:
added empty methods so you can compile without PIDX enabled.
moved bulletproofing upstream to PIDXOutputContext.
31 lines of code changed in 2 files:
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.
146 lines of code changed in 2 files:
more descriptive variable name
1 lines of code changed in 1 file:
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.
51 lines of code changed in 2 files:
Removed PIDX debugging code and added method to hardwire the buffer values if needed for
sanity checks and debugging.
hardWireBufferValues(t_buffer, patchExts, arraySize, sample_per_variable );
This method supports all uintah types and subtypes.
52 lines of code changed in 2 files:
- consolidated code for setting the level extents to PIDXOutputContext.
28 lines of code changed in 2 files:
code consolidation:
- moved code to check the PIDX return codes to PIDXOutputContext.cc
- moved code to compute the Patch extents to PIDXOutputContext -- setPatchExtents()
- created struct to hold the patchExtents.
94 lines of code changed in 2 files:
PIDXOutputContext:
Add function printBuffer() that prints out the PIDX buffer in a human readable format.
Thanks Dav for the needed push
DataArchive.cc & dataArchiver.cc
- cleaned out gross debugging code and replaced with printBuffer(). Debugging output is wrapped with
SCI_DEBUG calls.
126 lines of code changed in 2 files:
(8 more)