Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 12 (100.0%) | 22 (100.0%) | 1.8 |
allen | 2 (16.7%) | 13 (59.1%) | 6.5 |
jas | 8 (66.7%) | 5 (22.7%) | 0.6 |
jholmen | 2 (16.7%) | 4 (18.2%) | 2.0 |
Fixed the benign value for the OR operation and removed comments
13 lines of code changed in 2 files:
* 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.
4 lines of code changed in 2 files:
Update copyright date.
5 lines of code changed in 8 files: