[root]/CCA/Components/Examples
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 158 (100.0%) | 516 (100.0%) | 3.2 |
bpeterson | 16 (10.1%) | 145 (28.1%) | 9.0 |
allen | 43 (27.2%) | 100 (19.4%) | 2.3 |
dsunder | 9 (5.7%) | 85 (16.5%) | 9.4 |
ahumphrey | 7 (4.4%) | 69 (13.4%) | 9.8 |
jholmen | 1 (0.6%) | 52 (10.1%) | 52.0 |
jas | 70 (44.3%) | 51 (9.9%) | 0.7 |
harman | 2 (1.3%) | 7 (1.4%) | 3.5 |
dav | 9 (5.7%) | 6 (1.2%) | 0.6 |
derekhar | 1 (0.6%) | 1 (0.2%) | 1.0 |
added code to coarsen fine level extra cells to the coarser level extra cells. Incomplete
Added input file to test it.
User spec:
<algorithm type='dataOnion'>
<coarsenExtraCells> true </coarsenExtraCells>
</algorithm>
or
<algorithm type='RMCRT_coarseLevel'>
<coarsenExtraCells> true </coarsenExtraCells>
</algorithm>
7 lines of code changed in 2 files:
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().
6 lines of code changed in 9 files:
Changed call to abs to std::abs.
1 lines of code changed in 1 file:
backed out sim state changes
50 lines of code changed in 27 files:
cleanup of the simulation state - most everything is now private
6 lines of code changed in 3 files:
cleanup of the simulation state - most everything is now private
44 lines of code changed in 13 files:
A task datawarehouse fix that should have been put in a while ago for the unified scheduler test
2 lines of code changed in 1 file:
Significant refactoring of Level and LoadBalancerCommon prior to adding in per-level max_ghost_cells machinery.
2 lines of code changed in 1 file:
* 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
57 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).
7 lines of code changed in 2 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.
3 lines of code changed in 3 files:
These changes allow for temporary/scratch CUDA variables to be managed (variables that aren't CCVariables/PerPatch/Sole/Reduction etc., just small temporary variables whose sizes can't be determined until right before the kernel launches)
2 lines of code changed in 3 files:
This adds two fixes. First is that it adds float support to the GPU data warehouse (it no longer checks on the data type's size, but the actual data TypeDescription::Type). Second is that it lays the groundwork for being able to have some task specific variable cleanup unrelated to the normal vars declared as computes/modifies/requires. RMCRT needs this as before a kernel it will create a few temporary GPU variables.
4 lines of code changed in 2 files:
Refactor Array3 to remove iterator to make it possible to merge trunk
into the kokkos_dev branch
0 lines of code changed in 1 file:
Array3 operator[] forwards to Kokkos if enabled
0 lines of code changed in 1 file:
This patch mainly targetted getting all RMCRT runs working on the new GPU framework. It *might* break Wasatch in very small and easily fixable ways. This also fixes perhaps a dozen or so subtle but important bugs in the scheduler.
2 lines of code changed in 3 files:
remove get3DPointer from Array3Data
21 lines of code changed in 2 files:
Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.
10 lines of code changed in 10 files:
This fixes a couple of bugs with the GPU memory pool. It also overhauled the CUDA stream pool and fixed all outstanding issues with it.
0 lines of code changed in 2 files:
Add operator()(int i, int j, int k) to constVariable and update Poisson1 to always use a functor
15 lines of code changed in 1 file:
Extensive changes to support concurrency of data coming into and out of the GPU data warehouse
2 lines of code changed in 2 files:
remove c++11 header from example to fix build
0 lines of code changed in 1 file:
Implement parallel_for and parallel_reduce over 3D ranges
14 lines of code changed in 1 file:
Remove spurious ouput from poisson1 example
0 lines of code changed in 1 file:
Add getKokkosView() to Array3
Wrap the Array3 memory with an unmanaged Kokkos::View.
35 lines of code changed in 1 file:
* Added a Kokkos-based implementation of Poisson1::timeAdvance
52 lines of code changed in 1 file:
Update copyright date to 2016.
41 lines of code changed in 60 files:
All updates from the gpu_dev branch merged back into trunk.
133 lines of code changed in 3 files: