Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 47 (100.0%) | 185 (100.0%) | 3.9 |
harman | 18 (38.3%) | 163 (88.1%) | 9.0 |
jas | 24 (51.1%) | 18 (9.7%) | 0.7 |
jholmen | 4 (8.5%) | 4 (2.2%) | 1.0 |
ahumphrey | 1 (2.1%) | 0 (0.0%) | 0.0 |
Replaced tabs with spaces.
163 lines of code changed in 18 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.
0 lines of code changed in 1 file:
* 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 4 files:
Update copyright date.
18 lines of code changed in 24 files: