[OpenMP] Add GOMP 5.0 loop entry points
This patch adds missing GOMP_5.0 loop entry points which incorporate new non-monotonic default into entry point name. Since monotonic schedules are a subset of nonmonotonic, it is acceptable to use monotonic as the implementation. This patch simply has the nonmonotonic (and possibly non-monontonic) versions of the loop entry points as wrappers around the monotonic ones. Differential Revision: https://reviews.llvm.org/D73922
This commit is contained in:
parent
05f2b5ccfc
commit
95a28df5c4
|
@ -119,5 +119,7 @@ GOMP_4.0 {
|
||||||
} GOMP_3.0;
|
} GOMP_3.0;
|
||||||
GOMP_4.5 {
|
GOMP_4.5 {
|
||||||
} GOMP_4.0;
|
} GOMP_4.0;
|
||||||
|
GOMP_5.0 {
|
||||||
|
} GOMP_4.5;
|
||||||
|
|
||||||
# end of file #
|
# end of file #
|
||||||
|
|
|
@ -658,4 +658,26 @@
|
||||||
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED \
|
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED \
|
||||||
GOMP_parallel_loop_nonmonotonic_guided
|
GOMP_parallel_loop_nonmonotonic_guided
|
||||||
|
|
||||||
|
// All GOMP_5.0 symbols
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT \
|
||||||
|
GOMP_loop_maybe_nonmonotonic_runtime_next
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START \
|
||||||
|
GOMP_loop_maybe_nonmonotonic_runtime_start
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT \
|
||||||
|
GOMP_loop_nonmonotonic_runtime_next
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_START \
|
||||||
|
GOMP_loop_nonmonotonic_runtime_start
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT \
|
||||||
|
GOMP_loop_ull_maybe_nonmonotonic_runtime_next
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START \
|
||||||
|
GOMP_loop_ull_maybe_nonmonotonic_runtime_start
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT \
|
||||||
|
GOMP_loop_ull_nonmonotonic_runtime_next
|
||||||
|
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START \
|
||||||
|
GOMP_loop_ull_nonmonotonic_runtime_start
|
||||||
|
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME \
|
||||||
|
GOMP_parallel_loop_nonmonotonic_runtime
|
||||||
|
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME \
|
||||||
|
GOMP_parallel_loop_maybe_nonmonotonic_runtime
|
||||||
|
|
||||||
#endif /* KMP_FTN_OS_H */
|
#endif /* KMP_FTN_OS_H */
|
||||||
|
|
|
@ -635,6 +635,15 @@ LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT), {})
|
||||||
LOOP_RUNTIME_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_START),
|
LOOP_RUNTIME_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_START),
|
||||||
kmp_sch_runtime)
|
kmp_sch_runtime)
|
||||||
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT), {})
|
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT), {})
|
||||||
|
LOOP_RUNTIME_START(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START),
|
||||||
|
kmp_sch_runtime)
|
||||||
|
LOOP_RUNTIME_START(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_START),
|
||||||
|
kmp_sch_runtime)
|
||||||
|
LOOP_NEXT(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT), {})
|
||||||
|
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT), {})
|
||||||
|
|
||||||
LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_START),
|
LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_START),
|
||||||
kmp_ord_static)
|
kmp_ord_static)
|
||||||
|
@ -911,6 +920,18 @@ LOOP_NEXT_ULL(
|
||||||
LOOP_RUNTIME_START_ULL(
|
LOOP_RUNTIME_START_ULL(
|
||||||
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START), kmp_sch_runtime)
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START), kmp_sch_runtime)
|
||||||
LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT), {})
|
LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT), {})
|
||||||
|
LOOP_RUNTIME_START_ULL(
|
||||||
|
KMP_EXPAND_NAME(
|
||||||
|
KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START),
|
||||||
|
kmp_sch_runtime)
|
||||||
|
LOOP_RUNTIME_START_ULL(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START),
|
||||||
|
kmp_sch_runtime)
|
||||||
|
LOOP_NEXT_ULL(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT),
|
||||||
|
{})
|
||||||
|
LOOP_NEXT_ULL(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT), {})
|
||||||
|
|
||||||
LOOP_START_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_START),
|
LOOP_START_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_START),
|
||||||
kmp_ord_static)
|
kmp_ord_static)
|
||||||
|
@ -1513,6 +1534,12 @@ PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED),
|
||||||
kmp_sch_guided_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST)
|
kmp_sch_guided_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST)
|
||||||
PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME),
|
PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME),
|
||||||
kmp_sch_runtime, OMPT_LOOP_PRE, OMPT_LOOP_POST)
|
kmp_sch_runtime, OMPT_LOOP_PRE, OMPT_LOOP_POST)
|
||||||
|
PARALLEL_LOOP(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME),
|
||||||
|
kmp_sch_runtime, OMPT_LOOP_PRE, OMPT_LOOP_POST)
|
||||||
|
PARALLEL_LOOP(
|
||||||
|
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME),
|
||||||
|
kmp_sch_runtime, OMPT_LOOP_PRE, OMPT_LOOP_POST)
|
||||||
|
|
||||||
void KMP_EXPAND_NAME(KMP_API_NAME_GOMP_TASKGROUP_START)(void) {
|
void KMP_EXPAND_NAME(KMP_API_NAME_GOMP_TASKGROUP_START)(void) {
|
||||||
int gtid = __kmp_entry_gtid();
|
int gtid = __kmp_entry_gtid();
|
||||||
|
@ -1985,6 +2012,28 @@ KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, 45,
|
||||||
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED, 45,
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED, 45,
|
||||||
"GOMP_4.5");
|
"GOMP_4.5");
|
||||||
|
|
||||||
|
// GOMP_5.0 versioned symbols
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT,
|
||||||
|
50, "GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START,
|
||||||
|
50, "GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME, 50,
|
||||||
|
"GOMP_5.0");
|
||||||
|
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME,
|
||||||
|
50, "GOMP_5.0");
|
||||||
|
|
||||||
#endif // KMP_USE_VERSION_SYMBOLS
|
#endif // KMP_USE_VERSION_SYMBOLS
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
Loading…
Reference in a new issue