aboutsummaryrefslogtreecommitdiff
path: root/openmp
diff options
context:
space:
mode:
Diffstat (limited to 'openmp')
-rw-r--r--openmp/libomptarget/deviceRTLs/common/src/parallel.cu12
-rw-r--r--openmp/libomptarget/deviceRTLs/interface.h11
2 files changed, 12 insertions, 11 deletions
diff --git a/openmp/libomptarget/deviceRTLs/common/src/parallel.cu b/openmp/libomptarget/deviceRTLs/common/src/parallel.cu
index 2656f3e..b12d5cc 100644
--- a/openmp/libomptarget/deviceRTLs/common/src/parallel.cu
+++ b/openmp/libomptarget/deviceRTLs/common/src/parallel.cu
@@ -239,7 +239,7 @@ EXTERN void __kmpc_end_serialized_parallel(kmp_Ident *loc,
currTaskDescr->RestoreLoopData();
}
-EXTERN uint8_t __kmpc_parallel_level() {
+NOINLINE EXTERN uint8_t __kmpc_parallel_level() {
return parallelLevel[GetWarpId()] & (OMP_ACTIVE_PARALLEL_LEVEL - 1);
}
@@ -282,11 +282,11 @@ EXTERN void __kmpc_push_proc_bind(kmp_Ident *loc, uint32_t tid, int proc_bind) {
// parallel interface
////////////////////////////////////////////////////////////////////////////////
-EXTERN void __kmpc_parallel_51(kmp_Ident *ident, kmp_int32 global_tid,
- kmp_int32 if_expr, kmp_int32 num_threads,
- int proc_bind, void *fn, void *wrapper_fn,
- void **args, size_t nargs) {
-
+NOINLINE EXTERN void __kmpc_parallel_51(kmp_Ident *ident, kmp_int32 global_tid,
+ kmp_int32 if_expr,
+ kmp_int32 num_threads, int proc_bind,
+ void *fn, void *wrapper_fn, void **args,
+ size_t nargs) {
// Handle the serialized case first, same for SPMD/non-SPMD except that in
// SPMD mode we already incremented the parallel level counter, account for
// that.
diff --git a/openmp/libomptarget/deviceRTLs/interface.h b/openmp/libomptarget/deviceRTLs/interface.h
index ade1bfe..2e80dc3 100644
--- a/openmp/libomptarget/deviceRTLs/interface.h
+++ b/openmp/libomptarget/deviceRTLs/interface.h
@@ -222,7 +222,7 @@ EXTERN void __kmpc_push_num_threads(kmp_Ident *loc, int32_t global_tid,
int32_t num_threads);
EXTERN void __kmpc_serialized_parallel(kmp_Ident *loc, uint32_t global_tid);
EXTERN void __kmpc_end_serialized_parallel(kmp_Ident *loc, uint32_t global_tid);
-EXTERN uint8_t __kmpc_parallel_level();
+NOINLINE EXTERN uint8_t __kmpc_parallel_level();
// proc bind
EXTERN void __kmpc_push_proc_bind(kmp_Ident *loc, uint32_t global_tid,
@@ -441,10 +441,11 @@ EXTERN void __kmpc_get_shared_variables(void ***GlobalArgs);
/// \param wrapper_fn The worker wrapper function of fn.
/// \param args The pointer array of arguments to fn.
/// \param nargs The number of arguments to fn.
-EXTERN void __kmpc_parallel_51(ident_t *ident, kmp_int32 global_tid,
- kmp_int32 if_expr, kmp_int32 num_threads,
- int proc_bind, void *fn, void *wrapper_fn,
- void **args, size_t nargs);
+NOINLINE EXTERN void __kmpc_parallel_51(ident_t *ident, kmp_int32 global_tid,
+ kmp_int32 if_expr,
+ kmp_int32 num_threads, int proc_bind,
+ void *fn, void *wrapper_fn, void **args,
+ size_t nargs);
// SPMD execution mode interrogation function.
EXTERN int8_t __kmpc_is_spmd_exec_mode();