Directory Core/Parallel/

Total Files:
17
Deleted Files:
0
Lines of Code:
3795

[root]/Core/Parallel

Lines of Code

Core/Parallel/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 57 (100.0%) 427 (100.0%) 7.4
jholmen 8 (14.0%) 198 (46.4%) 24.7
allen 12 (21.1%) 151 (35.4%) 12.5
ahumphrey 10 (17.5%) 29 (6.8%) 2.9
mcconnell 2 (3.5%) 24 (5.6%) 12.0
jas 24 (42.1%) 16 (3.7%) 0.6
dav 1 (1.8%) 9 (2.1%) 9.0

Most Recent Commits

allen 2018-12-17 16:32 Rev.: 59108

changed the proc name storage to a lookup - memory reduction

0 lines of code changed in 4 files:

  • Core/Parallel: ProcessorGroup.cc (new), ProcessorGroup.h (changed)
ahumphrey 2018-11-28 13:06 Rev.: 58965

Fix accuracy of error message when putting foreign vars into DW.
Reorder appearance of methods in OnDemandDW to match header... send/recvMPI methods adjacent in impl file.
A few minor cosmetic changes elswhere.

3 lines of code changed in 2 files:

  • Core/Parallel: BufferInfo.cc (new)
ahumphrey 2018-11-19 13:31 Rev.: 58944

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.....

26 lines of code changed in 4 files:

  • Core/Parallel: CrowdMonitor.hpp (new), MasterLock.h (new)
allen 2018-08-24 11:10 Rev.: 58550

formatting cleanup

3 lines of code changed in 1 file:

  • Core/Parallel: ProcessorGroup.cc (+3 -4)
allen 2018-08-22 14:30 Rev.: 58546

fixed bug in the node look up and cleaned up formatting

8 lines of code changed in 1 file:

  • Core/Parallel: ProcessorGroup.cc (+8 -15)
allen 2018-08-21 11:30 Rev.: 58541

added functionality to get the node index for any rank - slight memory cost

103 lines of code changed in 2 files:

  • Core/Parallel: ProcessorGroup.cc (+72 -67), ProcessorGroup.h (+31 -17)
mcconnell 2018-04-16 15:54 Rev.: 58140

rolled back changes to r58119

19 lines of code changed in 1 file:

  • Core/Parallel: ProcessorGroup.h (+19 -5)
mcconnell 2018-04-16 15:04 Rev.: 58138

fix absently minded move

5 lines of code changed in 1 file:

  • Core/Parallel: ProcessorGroup.h (+5 -19)
ahumphrey 2018-04-02 16:08 Rev.: 58028

Cleanup UintahParallelComponent

0 lines of code changed in 4 files:

  • Core/Parallel: UintahParallelComponent.cc (new), UintahParallelComponent.h (changed)
allen 2018-02-26 15:53 Rev.: 57877

added storage for the processor name

8 lines of code changed in 2 files:

  • Core/Parallel: ProcessorGroup.cc (+3 -4), ProcessorGroup.h (+5)
jholmen 2018-01-26 15:37 Rev.: 57738

* Ensure that we have OpenMP before attempting to use it.

6 lines of code changed in 1 file:

  • Core/Parallel: MasterLock.h (+6 -3)
jholmen 2018-01-25 22:25 Rev.: 57731

* Updated KokkosOpenMPScheduler.cc to use Kokkos::OpenMP::partition_master() for Kokkos-based builds.
* Added -npartitions and -nthreadsperpartition run-time options.
* Set the Kokkos-OpenMP Scheduler as the default scheduler for Kokkos-based builds.
* Added bulletproofing within SchedulerFactory.cc.
* Updated ProcessorGroup.h to use m_comm for -nthreads 1 or -npartitions 1.
* Added MasterLock.h to help avoid mixing synchronization primitives.
* Replaced use of #include <mutex> with #include <Core/Parallel/MasterLock.h>.
* Replaced use of std::mutex with Uintah::MasterLock.
* Cleaned up whitespace.

This commit extends the Kokkos-OpenMP Scheduler to support parallel execution of tasks within an MPI process.

Scheduler logic is based upon that of the Unified Scheduler, where individual threads are used as task runners.

In the context of the Kokkos-OpenMP Scheduler, individual partitions are used as task runners.

Individual partitions execute Kokkos-based tasks in parallel across the threads belonging to that partition and existing serial tasks serially.

Note, this scheduler requires MPI_THREAD_MULTIPLE support to run with multiple partitions per MPI process.

192 lines of code changed in 7 files:

  • Core/Parallel: CrowdMonitor.hpp (+8 -7), MasterLock.h (+81), Parallel.cc (new), Parallel.h (+18), ProcessorGroup.h (+1 -1)
allen 2018-01-22 14:27 Rev.: 57707

added per node communicator and changed logic for per node reductions

29 lines of code changed in 2 files:

  • Core/Parallel: ProcessorGroup.cc (+15), ProcessorGroup.h (+14 -5)
dav 2018-01-11 14:39 Rev.: 57620

Cosmetic update: Consolidate one line functions in .h file to be more easily read (in terms of a class spec). Added a few comments about what data the variables hold.

9 lines of code changed in 1 file:

  • Core/Parallel: ProcessorGroup.h (+9 -26)
jas 2018-01-09 17:40 Rev.: 57604

Update copyright date.

16 lines of code changed in 24 files:

  • Core/Parallel: BufferInfo.cc (+1 -1), BufferInfo.h (new), CrowdMonitor.hpp (+1 -1), PackBufferInfo.cc (new), PackBufferInfo.h (+1 -1), Parallel.cc (+1 -1), Parallel.h (+1 -1), ParallelContext.h (new), ProcessorGroup.cc (+1 -1), ProcessorGroup.h (+1 -1), UintahMPI.h (+1 -1), UintahParallelComponent.cc (+1 -1), UintahParallelComponent.h (+1 -1), UintahParallelPort.cc (+1 -1), UintahParallelPort.h (+1 -1), sub.mk (new)
Generated by StatSVN 0.7.0