Index: openmp/trunk/libomptarget/deviceRTLs/nvptx/src/interface.h =================================================================== --- openmp/trunk/libomptarget/deviceRTLs/nvptx/src/interface.h +++ openmp/trunk/libomptarget/deviceRTLs/nvptx/src/interface.h @@ -516,4 +516,7 @@ EXTERN void * __kmpc_get_data_sharing_environment_frame(int32_t SourceThreadID, int16_t IsOMPRuntimeInitialized); + +// SPMD execution mode interrogation function. +EXTERN int8_t __kmpc_is_spmd_exec_mode(); #endif Index: openmp/trunk/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.cu =================================================================== --- openmp/trunk/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.cu +++ openmp/trunk/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.cu @@ -187,3 +187,8 @@ omptarget_nvptx_threadPrivateContext); } } + +// Return true if the current target region is executed in SPMD mode. +EXTERN int8_t __kmpc_is_spmd_exec_mode() { + return isSPMDMode(); +}