Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 3c7e922

Browse files
committed
[OpenMP] Add support for GOMP_*_nonmonotonic_* functions
Patch by Isuru Fernando Differential Revision: https://reviews.llvm.org/D65714 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367949 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 6a2cf69 commit 3c7e922

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

runtime/src/kmp_ftn_os.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,5 +633,25 @@
633633
GOMP_loop_ull_doacross_guided_start
634634
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START \
635635
GOMP_loop_ull_doacross_runtime_start
636+
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT \
637+
GOMP_loop_nonmonotonic_dynamic_next
638+
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START \
639+
GOMP_loop_nonmonotonic_dynamic_start
640+
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT \
641+
GOMP_loop_nonmonotonic_guided_next
642+
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START \
643+
GOMP_loop_nonmonotonic_guided_start
644+
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT \
645+
GOMP_loop_ull_nonmonotonic_dynamic_next
646+
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START \
647+
GOMP_loop_ull_nonmonotonic_dynamic_start
648+
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT \
649+
GOMP_loop_ull_nonmonotonic_guided_next
650+
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START \
651+
GOMP_loop_ull_nonmonotonic_guided_start
652+
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC \
653+
GOMP_parallel_loop_nonmonotonic_dynamic
654+
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED \
655+
GOMP_parallel_loop_nonmonotonic_guided
636656

637657
#endif /* KMP_FTN_OS_H */

runtime/src/kmp_gsupport.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,10 +622,16 @@ LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_STATIC_START), kmp_sch_static)
622622
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_STATIC_NEXT), {})
623623
LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_DYNAMIC_START),
624624
kmp_sch_dynamic_chunked)
625+
LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START),
626+
kmp_sch_dynamic_chunked)
625627
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_DYNAMIC_NEXT), {})
628+
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT), {})
626629
LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_GUIDED_START),
627630
kmp_sch_guided_chunked)
631+
LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START),
632+
kmp_sch_guided_chunked)
628633
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_GUIDED_NEXT), {})
634+
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT), {})
629635
LOOP_RUNTIME_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_START),
630636
kmp_sch_runtime)
631637
LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT), {})
@@ -892,6 +898,16 @@ LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_NEXT), {})
892898
LOOP_START_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_START),
893899
kmp_sch_guided_chunked)
894900
LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_NEXT), {})
901+
LOOP_START_ULL(
902+
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START),
903+
kmp_sch_dynamic_chunked)
904+
LOOP_NEXT_ULL(
905+
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT), {})
906+
LOOP_START_ULL(
907+
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START),
908+
kmp_sch_guided_chunked)
909+
LOOP_NEXT_ULL(
910+
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT), {})
895911
LOOP_RUNTIME_START_ULL(
896912
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START), kmp_sch_runtime)
897913
LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT), {})
@@ -1487,6 +1503,12 @@ PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC),
14871503
kmp_sch_static, OMPT_LOOP_PRE, OMPT_LOOP_POST)
14881504
PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC),
14891505
kmp_sch_dynamic_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST)
1506+
PARALLEL_LOOP(
1507+
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED),
1508+
kmp_sch_guided_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST)
1509+
PARALLEL_LOOP(
1510+
KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC),
1511+
kmp_sch_dynamic_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST)
14901512
PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED),
14911513
kmp_sch_guided_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST)
14921514
PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME),
@@ -1942,6 +1964,26 @@ KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, 45,
19421964
"GOMP_4.5");
19431965
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, 45,
19441966
"GOMP_4.5");
1967+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, 45,
1968+
"GOMP_4.5");
1969+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, 45,
1970+
"GOMP_4.5");
1971+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START, 45,
1972+
"GOMP_4.5");
1973+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, 45,
1974+
"GOMP_4.5");
1975+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, 45,
1976+
"GOMP_4.5");
1977+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, 45,
1978+
"GOMP_4.5");
1979+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, 45,
1980+
"GOMP_4.5");
1981+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, 45,
1982+
"GOMP_4.5");
1983+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, 45,
1984+
"GOMP_4.5");
1985+
KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED, 45,
1986+
"GOMP_4.5");
19451987

19461988
#endif // KMP_USE_VERSION_SYMBOLS
19471989

0 commit comments

Comments
 (0)