|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
17dcde5f |
| 18-May-2022 |
AndreyChurbanov <[email protected]> |
[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
[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
show more ...
|
| #
43d5c4d5 |
| 05-Jul-2022 |
Vadim Paretsky <[email protected]> |
[OpenMP] add 4 custom APIs supporting MSVC OMP codegen
This check-in adds 4 APIs to support MSVC, specifically:
* 3 APIs (__kmpc_sections_init, __kmpc_next_section, __kmpc_end_sections) to suppo
[OpenMP] add 4 custom APIs supporting MSVC OMP codegen
This check-in adds 4 APIs to support MSVC, specifically:
* 3 APIs (__kmpc_sections_init, __kmpc_next_section, __kmpc_end_sections) to support the dynamic scheduling of OMP sections. * 1 API (__kmpc_copyprivate_light, a light-weight version of __kmpc_copyrprivate) to support the OMP single copyprivate clause.
Differential Revision: https://reviews.llvm.org/D128403
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
747a4906 |
| 12-Apr-2022 |
Jonathan Peyton <[email protected]> |
[OpenMP][libomp] Fix some Doxygen issues
Fix spelling of variable names and remove accidental references (#) in Doxygen comments.
|
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init |
|
| #
1234011b |
| 31-Jan-2022 |
Jonathan Peyton <[email protected]> |
[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 CMa
[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.
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
458db51c |
| 30-Dec-2021 |
Shilei Tian <[email protected]> |
[OpenMP] Add missing `tt_hidden_helper_task_encountered` along with `tt_found_proxy_tasks`
In most cases, hidden helper task behave similar as detached tasks. That means, for example, if we have to
[OpenMP] Add missing `tt_hidden_helper_task_encountered` along with `tt_found_proxy_tasks`
In most cases, hidden helper task behave similar as detached tasks. That means, for example, if we have to wait for detached tasks, we have to do the same thing for hidden helper tasks as well. This patch adds the missing condition for hidden helper task accordingly along with detached task.
Reviewed By: AndreyChurbanov
Differential Revision: https://reviews.llvm.org/D107316
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
f2410bfb |
| 25-Oct-2021 |
Vladimir Inđić <[email protected]> |
[OpenMP][OMPT][clang] task frame support fixed in __kmpc_fork_call
__kmp_fork_call sets the enter_frame of the active task (th_curren_task) before new parallel region begins. After the region is fin
[OpenMP][OMPT][clang] task frame support fixed in __kmpc_fork_call
__kmp_fork_call sets the enter_frame of the active task (th_curren_task) before new parallel region begins. After the region is finished, the enter_frame is cleared.
The old implementation of __kmpc_fork_call didn’t clear the enter_frame of active task.
Also, the way of initializing the enter_frame of the active task was wrong. Consider the following two OpenMP programs.
The first program: Let R1 be the serialized parallel region that encloses another serialized parallel region R2. Assume that thread that executes R2 is going to create a new serialized parallel region R3 by executing __kmpc_fork_call. This thread is responsible to set enter_frame of R2's implicit task. Note that the information about R2's implicit task is present inside master_th->th.th_current_task at this moment, while lwt represents the information about R1's implicit task. The old implementation uses lwt and resets enter_frame of R1's implicit task instead of R2's implicit task. The new implementation uses master_th->th.th_current_task instead.
The second program: Consider the OpenMP program that contains parallel region R1 which encloses an explicit task T. Assume that thread should create another parallel region R2 during the execution of the T. The __kmpc_fork_call is responsible to create R2 and set enter frame of T whose information is present inside the master_th->th.th_current_task. Old implementation tries to set the frame of parent_team->t.t_implicit_task_taskdata[tid] which corresponds to the implicit task of the R1, instead of T.
Differential Revision: https://reviews.llvm.org/D112419
show more ...
|
| #
f5c0c917 |
| 11-Oct-2021 |
AndreyChurbanov <[email protected]> |
[OpenMP] libomp: add OpenMP 5.1 memory allocation routines.
Aligned allocation routines added. Fortran interfaces added for all allocation routines.
Differential Revision: https://reviews.llvm.org/
[OpenMP] libomp: add OpenMP 5.1 memory allocation routines.
Aligned allocation routines added. Fortran interfaces added for all allocation routines.
Differential Revision: https://reviews.llvm.org/D110923
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
343b9e85 |
| 20-Sep-2021 |
Peyton, Jonathan L <[email protected]> |
[OpenMP][host runtime] Introduce kmp_cpuinfo_flags_t to replace integer flags
Store CPUID support flags as bits instead of using entire integers.
Differential Revision: https://reviews.llvm.org/D11
[OpenMP][host runtime] Introduce kmp_cpuinfo_flags_t to replace integer flags
Store CPUID support flags as bits instead of using entire integers.
Differential Revision: https://reviews.llvm.org/D110091
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
224f51d8 |
| 11-Jun-2021 |
Hansang Bae <[email protected]> |
[OpenMP] Add interface for 5.1 scope construct
The new interface only marks begin/end of a scope construct for corresponding OMPT events, and we can use existing interfaces for reduction operations.
[OpenMP] Add interface for 5.1 scope construct
The new interface only marks begin/end of a scope construct for corresponding OMPT events, and we can use existing interfaces for reduction operations.
Differential Revision: https://reviews.llvm.org/D108062
show more ...
|
| #
589519b9 |
| 19-Aug-2021 |
Vignesh Balasubramanian <[email protected]> |
[OpenMP][OMPD]Code movement required for OMPD
These changes don't come under OMPD guard as it is a movement of existing code to capture parallel behavior correctly. "Runtime Entry Points for OMPD" l
[OpenMP][OMPD]Code movement required for OMPD
These changes don't come under OMPD guard as it is a movement of existing code to capture parallel behavior correctly. "Runtime Entry Points for OMPD" like "ompd_bp_parallel_begin" and "ompd_bp_parallel_begin" should be placed at the correct execution point for the debugging tool to access proper handles/data. Without the below changes, in certain cases, debugging tool will pick the wrong parallel and task handle.
Reviewed By: @hbae Differential Revision: https://reviews.llvm.org/D100366
show more ...
|
| #
cff21556 |
| 15-Jun-2021 |
Joachim Protze <[email protected]> |
[OpenMP] Remove unused variables from libomp code
Several variables were left unused as a result of different patches removing their use.
Two variables have some use: `poll_count` is used by the KM
[OpenMP] Remove unused variables from libomp code
Several variables were left unused as a result of different patches removing their use.
Two variables have some use: `poll_count` is used by the KMP_BLOCKING macro only under certain conditions. Adding (void) to tell the compiler to ignore the unused variable.
`padding` is a dummy stack allocation with no intent to be used. Also adding (void) to make the compiler ignore the unused variable.
Differential Revision: https://reviews.llvm.org/D104303
show more ...
|
| #
56da2824 |
| 03-Jun-2021 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Add GOMP 5.0 version symbols to API
* Add GOMP versioned pause functions * Add GOMP versioned affinity format functions
To do the affinity format functions, only attach versioned symbols t
[OpenMP] Add GOMP 5.0 version symbols to API
* Add GOMP versioned pause functions * Add GOMP versioned affinity format functions
To do the affinity format functions, only attach versioned symbols to the APPEND Fortran entries (e.g., omp_set_affinity_format_) since GOMP only exports two symbols (one for Fortran, one for C). Our affinity format functions have three symbols. e.g., with omp_set_affinity_format: 1) omp_set_affinity_format (Fortran interface) 2) omp_set_affinity_format_ (Fortran interface) 3) ompc_set_affinity_format (C interface)
Have the GOMP version of the C symbol alias the ompc_* 3) version instead of the Fortran unappended version 1).
Differential Revision: https://reviews.llvm.org/D103647
show more ...
|
| #
0ddde4d8 |
| 02-Jun-2021 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Lazily assign root affinity
Lazily set affinity for root threads. Previously, the root thread executing middle initialization would attempt to assign affinity to other existing root threads
[OpenMP] Lazily assign root affinity
Lazily set affinity for root threads. Previously, the root thread executing middle initialization would attempt to assign affinity to other existing root threads. This was not working properly as the set_system_affinity() function wasn't setting the affinity for the target thread. Instead, the middle init thread was resetting the its own affinity using the target thread's affinity mask.
Differential Revision: https://reviews.llvm.org/D103625
show more ...
|
| #
f61602b0 |
| 08-Jun-2021 |
Vignesh Balasubramanian <[email protected]> |
[OpenMP][OMPD] Implementation of OMPD debugging library - libompd.
This is the first of seven patches that implements OMPD, a debugging interface to support debugging of OpenMP programs. It contains
[OpenMP][OMPD] Implementation of OMPD debugging library - libompd.
This is the first of seven patches that implements OMPD, a debugging interface to support debugging of OpenMP programs. It contains support code required in "openmp/runtime" for OMPD implementation.
Reviewed By: @hbae Differential Revision: https://reviews.llvm.org/D100181
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
95cefacf |
| 21-May-2021 |
Hansang Bae <[email protected]> |
[OpenMP] Fix crashing critical section with hint clause
Runtime was using the default lock type without using the hint.
Differential Revision: https://reviews.llvm.org/D102955
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
a6f9cb6a |
| 11-Mar-2021 |
Hansang Bae <[email protected]> |
[OpenMP] Add runtime interface for OpenMP 5.1 error directive
The proposed new interface is for supporting `at(execution)` clause in the error directive.
Differential Revision: https://reviews.llvm
[OpenMP] Add runtime interface for OpenMP 5.1 error directive
The proposed new interface is for supporting `at(execution)` clause in the error directive.
Differential Revision: https://reviews.llvm.org/D98448
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
97d000cf |
| 05-Mar-2021 |
tlwilmar <[email protected]> |
Added API for "masked" construct via two entrypoints: __kmpc_masked, and __kmpc_end_masked. The "master" construct is deprecated. Changed proc-bind keyword from "master" to "primary". Use of both mas
Added API for "masked" construct via two entrypoints: __kmpc_masked, and __kmpc_end_masked. The "master" construct is deprecated. Changed proc-bind keyword from "master" to "primary". Use of both master construct and master as proc-bind keyword is still allowed, but deprecated.
Remove references to "master" in comments and strings, and replace with "primary" or "primary thread". Function names and variables were not touched, nor were references to deprecated master construct. These can be updated over time. No new code should refer to master.
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
8c73be9d |
| 08-Feb-2021 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Limit number of dispatch buffers
This patch limits the number of dispatch buffers (used for loop worksharing construct) to between 1 and 4096.
Differential Revision: https://reviews.llvm.o
[OpenMP] Limit number of dispatch buffers
This patch limits the number of dispatch buffers (used for loop worksharing construct) to between 1 and 4096.
Differential Revision: https://reviews.llvm.org/D96749
show more ...
|
| #
309b00a4 |
| 20-Feb-2021 |
Shilei Tian <[email protected]> |
[OpenMP][NFC] clang-format the whole openmp project
Same script as D95318. Test files are excluded.
Reviewed By: AndreyChurbanov
Differential Revision: https://reviews.llvm.org/D97088
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
4692bb4a |
| 30-Oct-2020 |
Nawrin Sultana <[email protected]> |
[OpenMP] Add lower and upper bound in num_teams clause
This patch adds lower-bound and upper-bound to num_teams clause according to OpenMP 5.1 specification. The initial number of teams created is i
[OpenMP] Add lower and upper bound in num_teams clause
This patch adds lower-bound and upper-bound to num_teams clause according to OpenMP 5.1 specification. The initial number of teams created is implementation defined, but it will be greater than or equal to lower-bound and less than or equal to upper-bound. If num_teams clause is not specified, the number of teams created is implementation defined, but it will be greater or equal to 1.
Differential Revision: https://reviews.llvm.org/D95820
show more ...
|
| #
6b316feb |
| 30-Dec-2020 |
Terry Wilmarth <[email protected]> |
[OpenMP] libomp: Handle implicit conversion warnings
This patch partially prepares the runtime source code to be built with -Wconversion, which should trigger warnings if any implicit conversions ca
[OpenMP] libomp: Handle implicit conversion warnings
This patch partially prepares the runtime source code to be built with -Wconversion, which should trigger warnings if any implicit conversions can possibly change a value. For builds done with icc or gcc, all such warnings are handled in this patch. clang gives a much longer list of warnings, particularly for sign conversions, which the other compilers don't report. The -Wconversion flag is commented into cmake files, but I'm not going to turn it on. If someone thinks it is important, and wants to fix all the clang warnings, they are welcome to.
Types of changes made here involve either improving the consistency of types used so that no conversion is needed, or else performing careful explicit conversions, when we're sure a problem won't arise.
Patch is a combination of changes by Terry Wilmarth and Johnny Peyton.
Differential Revision: https://reviews.llvm.org/D92942
show more ...
|
| #
c3b5009a |
| 10-Dec-2020 |
Hansang Bae <[email protected]> |
[OpenMP] Use RTM lock for OMP lock with synchronization hint
This patch introduces a new RTM lock type based on spin lock which is used for OMP lock with speculative hint on supported architecture.
[OpenMP] Use RTM lock for OMP lock with synchronization hint
This patch introduces a new RTM lock type based on spin lock which is used for OMP lock with speculative hint on supported architecture.
Differential Revision: https://reviews.llvm.org/D92615
show more ...
|
| #
6d3b8166 |
| 18-Nov-2020 |
Joachim Protze <[email protected]> |
[OpenMP][OMPT] Introduce a guard to handle OMPT return address
This is an alternative approach to address inconsistencies pointed out in: D90078 This patch makes sure that the return address is rese
[OpenMP][OMPT] Introduce a guard to handle OMPT return address
This is an alternative approach to address inconsistencies pointed out in: D90078 This patch makes sure that the return address is reset, when leaving the scope. In some cases, I had to move the macro out of an if-statement to have it in the right scope, in some cases I added an additional block to restrict the scope.
This patch does not handle inconsistencies, which might occur if the return address is still set when we call into the application.
Test case (repeated_calls.c) provided by @hbae
Differential Revision: https://reviews.llvm.org/D91692
show more ...
|
| #
5439db05 |
| 06-Nov-2020 |
Nawrin Sultana <[email protected]> |
[OpenMP] Add omp_realloc implementation
This patch adds omp_realloc function implementation according to OpenMP 5.1 specification.
Differential Revision: https://reviews.llvm.org/D90971
|
| #
0454154e |
| 05-Nov-2020 |
Peyton, Jonathan L <[email protected]> |
[OpenMP][stats] reset serial state when re-entering serial region
Differential Revision: https://reviews.llvm.org/D90867
|