TTobias Hieta[OpenMP][libomp] Detect if test compiler has omp.h
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[OpenMP][libomp] Allow reset affinity mask after parallel Added control to reset affinity of primary thread after outermost parallel region to initial affinity encountered before OpenMP runtime was initialized. KMP_AFFINITY environment variable reset/noreset modifier introduced. Default behavior is unchanged. Differential Revision: https://reviews.llvm.org/D125993 | 3 年前 | |
[OpenMP] Implementing omp_get_device_num() This patch implements omp_get_device_num() in the host and the device. It uses the already existing getDeviceNum in the device config for the device. And in the host it uses the omp_get_num_devices(). Two simple tests added Differential Revision: https://reviews.llvm.org/D128347 | 3 年前 | |
[OpenMP][Clang] Fix atomic compare for signed vs. unsigned Without this patch, arguments to the llvm::OpenMPIRBuilder::AtomicOpValue initializer are reversed. Reviewed By: ABataev, tianshilei1992 Differential Revision: https://reviews.llvm.org/D126619 | 4 年前 | |
[OpenMP] libomp: Add new experimental barrier: two-level distributed barrier Two-level distributed barrier is a new experimental barrier designed for Intel hardware that has better performance in some cases than the default hyper barrier. This barrier is designed to handle fine granularity parallelism where barriers are used frequently with little compute and memory access between barriers. There is no need to use it for codes with few barriers and large granularity compute, or memory intensive applications, as little difference will be seen between this barrier and the default hyper barrier. This barrier is designed to work optimally with a fixed number of threads, and has a significant setup time, so should NOT be used in situations where the number of threads in a team is varied frequently. The two-level distributed barrier is off by default -- hyper barrier is used by default. To use this barrier, you must set all barrier patterns to use this type, because it will not work with other barrier patterns. Thus, to turn it on, the following settings are required: KMP_FORKJOIN_BARRIER_PATTERN=dist,dist KMP_PLAIN_BARRIER_PATTERN=dist,dist KMP_REDUCTION_BARRIER_PATTERN=dist,dist Branching factors (set with KMP_FORKJOIN_BARRIER, KMP_PLAIN_BARRIER, and KMP_REDUCTION_BARRIER) are ignored by the two-level distributed barrier. Patch fixed for ITTNotify disabled builds and non-x86 builds Co-authored-by: Jonathan Peyton <jonathan.l.peyton@intel.com> Co-authored-by: Vladislav Vinogradov <vlad.vinogradov@intel.com> Differential Revision: https://reviews.llvm.org/D103121 | 4 年前 | |
[OpenMP][Tests][NFC] Mark tests trying to link COI as unsupported For some tests with target-related functionality icc 18/19 tries to link libioffload_target.so.5, which fails for missing COI symbols. | 4 年前 | |
[OpenMP] libomp: fix dynamic loop dispatcher Restructured dynamic loop dispatcher code. Fixed use of dispatch buffers for nonmonotonic dynamic (static_steal) schedule: - eliminated possibility of stealing iterations of the wrong loop when victim thread changed its buffer to work on another loop; - fixed race when victim thread changed its buffer to work in nested parallel; - eliminated "static" property of the schedule, that is now a single thread can execute whole loop. Differential Revision: https://reviews.llvm.org/D103648 | 4 年前 | |
Fix for bugzilla https://bugs.llvm.org/show_bug.cgi?id=39970 Broken tests fixed Differential Revision: https://reviews.llvm.org/D55598 llvm-svn: 349017 | 7 年前 | |
[OpenMP] NFC: Fix trivial typo Differential Revision: https://reviews.llvm.org/D77430 | 6 年前 | |
Remove trailing whitespace from tests llvm-svn: 269841 | 9 年前 | |
[OpenMP][Tests] Fix compiler warnings in OpenMP runtime tests This patch allows to pass the OpenMP runtime tests after configuring with cmake . -DOPENMP_TEST_FLAGS:STRING="-Werror". The warnings for OMPT tests are addressed in D90752. Differential Revision: https://reviews.llvm.org/D91280 | 5 年前 | |
[OpenMP] Possible fix for sporadic test failure from loop_dispatch.c This patch tries to fix sporadic test failure after the change https://reviews.llvm.org/D122107. Made the test wait until every thread has at least one loop iteration. Differential Revision: https://reviews.llvm.org/D124812 | 4 年前 | |
[OpenMP 5.0] Add omp_get_supported_active_levels() This patch adds the new 5.0 API function omp_get_supported_active_levels(). Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D58211 llvm-svn: 354368 | 7 年前 | |
[OpenMP] libomp: implemented task priorities. Before this patch task priorities were ignored, that was a valid implementation as the task priority is a hint according to OpenMP specification. Implemented shared list of sorted (high -> low) task deques one per task priority value. Tasks execution changed to first check if priority tasks ready for execution exist, and these tasks executed before others; otherwise usual tasks execution mechanics work. Differential Revision: https://reviews.llvm.org/D119676 | 4 年前 | |
[OpenMP] Extend omp teams to permit nested omp atomic OpenMP 5.2, sec. 10.2 "teams Construct", p. 232, L9-12 restricts what regions can be strictly nested within a teams construct. This patch relaxes Clang's enforcement of this restriction in the case of nested atomic constructs unless -fno-openmp-extensions is specified. Cases like the following then seem to work fine with no additional implementation changes: #pragma omp target teams map(tofrom:x) #pragma omp atomic update x++; Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D126323 | 4 年前 | |
[OpenMP] NFC: Fix trivial typos in comments Reviewers: jdoerfert, Jim Reviewed By: Jim Subscribers: Jim, mgorny, guansong, jfb, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D72285 | 6 年前 | |
[OpenMP][Tests][NFC] Replace atomic increment by reduction Also mark the test as unsupported by intel-21, because the test does not terminate | 4 年前 | |
[OpenMP][libomp] Detect if test compiler has omp.h omp50_taskdep_depobj.c relies on the test compiler's omp.h file. If the test compiler does not have an omp.h file, then use the one within the build tree. Fixes: https://github.com/llvm/llvm-project/issues/56820 Differential Revision: https://reviews.llvm.org/D131000 (cherry picked from commit 9cf6511bff97007401238f6cff6bf80cb9af04a5) | 3 年前 | |
[OpenMP][libomp] Detect if test compiler has omp.h omp50_taskdep_depobj.c relies on the test compiler's omp.h file. If the test compiler does not have an omp.h file, then use the one within the build tree. Fixes: https://github.com/llvm/llvm-project/issues/56820 Differential Revision: https://reviews.llvm.org/D131000 (cherry picked from commit 9cf6511bff97007401238f6cff6bf80cb9af04a5) | 3 年前 | |
[OpenMP][libomp] Detect if test compiler has omp.h omp50_taskdep_depobj.c relies on the test compiler's omp.h file. If the test compiler does not have an omp.h file, then use the one within the build tree. Fixes: https://github.com/llvm/llvm-project/issues/56820 Differential Revision: https://reviews.llvm.org/D131000 (cherry picked from commit 9cf6511bff97007401238f6cff6bf80cb9af04a5) | 3 年前 | |
OpenMP Initial testsuite change to purely llvm-lit based testing This change introduces a check-libomp target which is based upon llvm's lit test infrastructure. Each test (generated from the University of Houston's OpenMP testsuite) is compiled and then run. For each test, an exit status of 0 indicates success and non-zero indicates failure. This way, FileCheck is not needed. I've added a bit of logic to generate symlinks (libiomp5 and libgomp) in the build tree so that gcc can be tested as well. When building out-of- tree builds, the user will have to provide llvm-lit either by specifying -DLIBOMP_LLVM_LIT_EXECUTABLE or having llvm-lit in their PATH. Differential Revision: http://reviews.llvm.org/D11821 llvm-svn: 248211 | 10 年前 | |
[OpenMP][libomp] Introduce oneAPI compiler support Introduce KMP_COMPILER_ICX macro to represent compilation with oneAPI compiler. Fixup flag detection and compiler ID detection in CMake. Older CMake's detect IntelLLVM as Clang. Fix compiler warnings. Fixup many of the tests to have non-empty parallel regions as they are elided by oneAPI compiler. | 4 年前 |