[root]/CCA/Components/LoadBalancers
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 97 (100.0%) | 635 (100.0%) | 6.5 |
allen | 43 (44.3%) | 337 (53.1%) | 7.8 |
ahumphrey | 17 (17.5%) | 193 (30.4%) | 11.3 |
jholmen | 1 (1.0%) | 44 (6.9%) | 44.0 |
dav | 3 (3.1%) | 40 (6.3%) | 13.3 |
jas | 33 (34.0%) | 21 (3.3%) | 0.6 |
Generalize the concept of a task graph having tasks with "distal" halo requirements, meaning the number, order, and appearance of TGs with distal requires is arbitrary. This is a much more robust way to determine distal neighborhood creation, etc. Prior to this, the code was quite brittle, depending on the distal TG being last in the order.
6 lines of code changed in 2 files:
* Fix RMCRT memory bloat.
* Move from referenceing SHRT_MAX to "req->m_num_ghost_cells >= MAX_HALO_DEPTH"
* Fix unitialized vars.
12 lines of code changed in 2 files:
* Brace initializers for POD and pointer_type class members.
* cbegin() and/or cend() for const_iterators, especially for methods that return a const_iterator, e.g., Level::const_patch_iterator Level::patchesBegin() const.
* Use prefix ++ operator (e.g., ++iter) for more complicated types, avoiding tmp creation.
* Prefer using const when possible.
* Use auto keyword, leaving correct type deduction to the compiler.
13 lines of code changed in 1 file:
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.....
91 lines of code changed in 2 files:
* Remove RunLengthEncoder and supporting classes, etc. This is no longer used. Removal will help clarity regarding Uintah::Variable functionality and features. This change has neccesitated explicit inclusion of "unistd.h" in a few spots, most specifically - MPM, for getpid() calls.
* Remove build system support for IPM and MAGMA libs, which have never been used. MAGAMA in fact, may ultimately hender Kokkos GPU asynchrony and performance.
* Generate new configure script with enable_option_checking bulletproofing.
* Delete unused header files.
* A few other cosmetic changes while under the hood, formatting, white space, etc.
1 lines of code changed in 1 file:
cleaned up the DOUT macros, consistent naming of timethresholds, added option to validate next delta before the reduction
1 lines of code changed in 1 file:
variable and comment clean up to refer to the material manager rather than the state
9 lines of code changed in 10 files:
addition logic for nullptr material pointer and cleanup of unsigned warnings
4 lines of code changed in 2 files:
removal of shared state and introduction of a material manager
16 lines of code changed in 6 files:
Correctly report number and type of DetailedTasks created in task graph.
Some other minor formatting and cleanup.
11 lines of code changed in 1 file:
Use std::unordered_set (since C++11) in processor neighborhod determination. Sorting isn't necessary and this shaves several minutes of TG compilation time at higher core counts.
28 lines of code changed in 2 files:
Document remaining Douts.
9 lines of code changed in 1 file:
cleanup of the namespace for debug streams and removed using namespace std
244 lines of code changed in 10 files:
Cleanup, update debug output, default initialization (in header files, e.g. m_ptr{nullptr}), etc
2 lines of code changed in 2 files:
added a componet tag for the in situ vars
6 lines of code changed in 1 file:
addition debug stream naming
32 lines of code changed in 5 files:
restructured teh Dout and DebugStream to register the streams to avoid conflicts
20 lines of code changed in 5 files:
Mostly cosemetic commit. Added in a number of "const" declarations and cleaned up
the code around them.
M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc
- Mark methods as const if they don't change object data.
- Pass (all) params as constants where appropriate.
- Return const pointers to object data (as appropriate).
- Align params, white space.
- Rename findAllVariableTypes() to the more accurate findAllVariablesWithType().
- The "d_" vars are being phased out, so using direct getMPIRank() call instead.
M CCA/Ports/LoadBalancer.h
- Rename enum to use CAPITAL names for clarity. (The enum itself should probably be a named type.)
This makes grep'ing for them much easier.
- Remove tabs, white space.
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
M CCA/Components/SimulationController/AMRSimulationController.cc
- White space.
- Remove some "d_" usage.
- Use new LoadBalancer enum NAMES.
- Single line "if" statements need to use {}.
40 lines of code changed in 3 files:
* Added TaskType Hypre.
* Updated TaskType logic to support Task::Hypre.
* Updated Kokkos-OpenMP Scheduler logic to exit OpenMP thread partitions when a Hypre task is selected.
* Cleaned up whitespace and formatting.
This commit allows Hypre tasks to be differentiated from OncePerProc tasks. This differentiation is used within the Kokkos-OpenMP Scheduler to make all OpenMP threads within an MPI process available to a Hypre task as opposed to only those within the OpenMP thread partition that selected the Hypre task.
44 lines of code changed in 1 file:
A viable short-term solution for the broken timers on BGQ architecture. Using the __bgq__ compiler macro.
Still need to fix lap timer for EMA, but this should get the production and scaling test runs working again.
20 lines of code changed in 3 files:
moved PerPatchVars.h to Core and RunTimeStatsEnums.h to Schedulers to give better separation, Also removed unneeded ehader files
5 lines of code changed in 3 files:
Update copyright date.
21 lines of code changed in 33 files: