diff options
| author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2018-11-28 20:10:26 +0000 |
|---|---|---|
| committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2018-11-28 20:10:26 +0000 |
| commit | a17318b89b97d577e08c87e6b6c3b67806869f85 (patch) | |
| tree | 95f7fc67b96a10c4193d04a378c5bca4a431d70a /openmp/runtime/src/include | |
| parent | 63a921bcfccdc24d2489294842e42ff55d8184cc (diff) | |
| download | bcm5719-llvm-a17318b89b97d577e08c87e6b6c3b67806869f85.tar.gz bcm5719-llvm-a17318b89b97d577e08c87e6b6c3b67806869f85.zip | |
[OpenMP] Add omp_get_device_num() and update several other device API functions
Add omp_get_device_num() function for 5.0 which returns the number of the device
the current thread is running on. Also, did some cleanup and updating of device
API functions to make them into weak functions that should be replaced with
libomptarget functions when libomptarget is present.
Patch by Terry Wilmarth
Differential Revision: https://reviews.llvm.org/D54342
llvm-svn: 347799
Diffstat (limited to 'openmp/runtime/src/include')
| -rw-r--r-- | openmp/runtime/src/include/45/omp.h.var | 1 | ||||
| -rw-r--r-- | openmp/runtime/src/include/45/omp_lib.f.var | 8 | ||||
| -rw-r--r-- | openmp/runtime/src/include/45/omp_lib.h.var | 3 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp.h.var | 4 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp_lib.f.var | 18 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp_lib.f90.var | 5 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp_lib.h.var | 9 |
7 files changed, 42 insertions, 6 deletions
diff --git a/openmp/runtime/src/include/45/omp.h.var b/openmp/runtime/src/include/45/omp.h.var index e222fff9474..f30da51d813 100644 --- a/openmp/runtime/src/include/45/omp.h.var +++ b/openmp/runtime/src/include/45/omp.h.var @@ -195,4 +195,3 @@ # endif #endif /* __OMP_H */ - diff --git a/openmp/runtime/src/include/45/omp_lib.f.var b/openmp/runtime/src/include/45/omp_lib.f.var index 74e6bc3ecb5..44e7cc2cdce 100644 --- a/openmp/runtime/src/include/45/omp_lib.f.var +++ b/openmp/runtime/src/include/45/omp_lib.f.var @@ -562,6 +562,7 @@ !dec$ attributes alias:'OMP_GET_TEAM_NUM' :: omp_get_team_num !dec$ attributes alias:'OMP_GET_CANCELLATION' :: omp_get_cancellation !dec$ attributes alias:'OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device +!dec$ attributes alias:'OMP_GET_INITIAL_DEVICE' :: omp_get_initial_device !dec$ attributes alias:'OMP_GET_MAX_TASK_PRIORITY' :: omp_get_max_task_priority !dec$ attributes alias:'omp_init_lock' :: omp_init_lock @@ -642,6 +643,7 @@ !dec$ attributes alias:'_OMP_GET_TEAM_NUM' :: omp_get_team_num !dec$ attributes alias:'_OMP_GET_CANCELLATION' :: omp_get_cancellation !dec$ attributes alias:'_OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device +!dec$ attributes alias:'_OMP_GET_INITIAL_DEVICE' :: omp_get_initial_device !dec$ attributes alias:'_OMP_GET_MAX_TASK_PRIORTY' :: omp_get_max_task_priority !dec$ attributes alias:'_omp_init_lock' :: omp_init_lock @@ -725,6 +727,7 @@ !dec$ attributes alias:'omp_get_team_num_'::omp_get_team_num !dec$ attributes alias:'omp_get_cancellation_'::omp_get_cancellation !dec$ attributes alias:'omp_is_initial_device_'::omp_is_initial_device +!dec$ attributes alias:'omp_get_initial_device_'::omp_get_initial_device !dec$ attributes alias:'omp_get_max_task_priority_'::omp_get_max_task_priority !dec$ attributes alias:'omp_init_lock_'::omp_init_lock @@ -800,10 +803,14 @@ !dec$ attributes alias:'_omp_get_proc_bind_' :: omp_get_proc_bind !dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime !dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick +!dec$ attributes alias:'_omp_get_default_device_'::omp_get_default_device +!dec$ attributes alias:'_omp_set_default_device_'::omp_set_default_device +!dec$ attributes alias:'_omp_get_num_devices_'::omp_get_num_devices !dec$ attributes alias:'_omp_get_num_teams_'::omp_get_num_teams !dec$ attributes alias:'_omp_get_team_num_'::omp_get_team_num !dec$ attributes alias:'_omp_get_cancellation_'::omp_get_cancellation !dec$ attributes alias:'_omp_is_initial_device_'::omp_is_initial_device +!dec$ attributes alias:'_omp_get_initial_device_'::omp_get_initial_device !dec$ attributes alias:'_omp_get_max_task_priorty_'::omp_get_max_task_priority !dec$ attributes alias:'_omp_init_lock_'::omp_init_lock @@ -852,4 +859,3 @@ !dec$ endif end module omp_lib - diff --git a/openmp/runtime/src/include/45/omp_lib.h.var b/openmp/runtime/src/include/45/omp_lib.h.var index 58763b35e06..1ed00cd02de 100644 --- a/openmp/runtime/src/include/45/omp_lib.h.var +++ b/openmp/runtime/src/include/45/omp_lib.h.var @@ -523,6 +523,7 @@ !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device +!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_initial_device !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num @@ -595,6 +596,7 @@ !$omp declare target(omp_get_default_device ) !$omp declare target(omp_set_default_device ) !$omp declare target(omp_is_initial_device ) +!$omp declare target(omp_get_initial_device ) !$omp declare target(omp_get_num_devices ) !$omp declare target(omp_get_num_teams ) !$omp declare target(omp_get_team_num ) @@ -641,4 +643,3 @@ !$omp declare target(omp_init_nest_lock_with_hint ) !DIR$ ENDIF !DIR$ ENDIF - diff --git a/openmp/runtime/src/include/50/omp.h.var b/openmp/runtime/src/include/50/omp.h.var index 7a626bd0711..e1beb2dd68d 100644 --- a/openmp/runtime/src/include/50/omp.h.var +++ b/openmp/runtime/src/include/50/omp.h.var @@ -141,6 +141,9 @@ extern int __KAI_KMPC_CONVENTION omp_target_associate_ptr(void *, void *, size_t, size_t, int); extern int __KAI_KMPC_CONVENTION omp_target_disassociate_ptr(void *, int); + /* OpenMP 5.0 */ + extern int __KAI_KMPC_CONVENTION omp_get_device_num (void); + /* kmp API functions */ extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void); extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int); @@ -249,4 +252,3 @@ # endif #endif /* __OMP_H */ - diff --git a/openmp/runtime/src/include/50/omp_lib.f.var b/openmp/runtime/src/include/50/omp_lib.f.var index 8a02b629e4e..a1ee1ffed15 100644 --- a/openmp/runtime/src/include/50/omp_lib.f.var +++ b/openmp/runtime/src/include/50/omp_lib.f.var @@ -278,6 +278,11 @@ integer (kind=omp_integer_kind) omp_get_initial_device end function omp_get_initial_device + function omp_get_device_num() + use omp_lib_kinds + integer (kind=omp_integer_kind) omp_get_device_num + end function omp_get_device_num + subroutine omp_init_lock(svar) !DIR$ IF(__INTEL_COMPILER.GE.1400) !DIR$ attributes known_intrinsic :: omp_init_lock @@ -592,7 +597,9 @@ !dec$ attributes alias:'OMP_GET_TEAM_NUM' :: omp_get_team_num !dec$ attributes alias:'OMP_GET_CANCELLATION' :: omp_get_cancellation !dec$ attributes alias:'OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device +!dec$ attributes alias:'OMP_GET_INITIAL_DEVICE' :: omp_get_initial_device !dec$ attributes alias:'OMP_GET_MAX_TASK_PRIORITY' :: omp_get_max_task_priority +!dec$ attributes alias:'OMP_GET_DEVICE_NUM' :: omp_get_device_num !dec$ attributes alias:'OMP_CONTROL_TOOL' :: omp_control_tool !dec$ attributes alias:'omp_init_lock' :: omp_init_lock @@ -673,7 +680,9 @@ !dec$ attributes alias:'_OMP_GET_TEAM_NUM' :: omp_get_team_num !dec$ attributes alias:'_OMP_GET_CANCELLATION' :: omp_get_cancellation !dec$ attributes alias:'_OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device +!dec$ attributes alias:'_OMP_GET_INITIAL_DEVICE' :: omp_get_initial_device !dec$ attributes alias:'_OMP_GET_MAX_TASK_PRIORTY' :: omp_get_max_task_priority +!dec$ attributes alias:'_OMP_GET_DEVICE_NUM' :: omp_get_device_num !dec$ attributes alias:'_OMP_CONTROL_TOOL' :: omp_control_tool !dec$ attributes alias:'_omp_init_lock' :: omp_init_lock @@ -757,7 +766,9 @@ !dec$ attributes alias:'omp_get_team_num_'::omp_get_team_num !dec$ attributes alias:'omp_get_cancellation_'::omp_get_cancellation !dec$ attributes alias:'omp_is_initial_device_'::omp_is_initial_device +!dec$ attributes alias:'omp_get_initial_device_'::omp_get_initial_device !dec$ attributes alias:'omp_get_max_task_priority_'::omp_get_max_task_priority +!dec$ attributes alias:'omp_get_device_num_'::omp_get_device_num !dec$ attributes alias:'omp_init_lock_'::omp_init_lock !dec$ attributes alias:'omp_init_lock_with_hint_'::omp_init_lock_with_hint @@ -833,12 +844,16 @@ !dec$ attributes alias:'_omp_get_proc_bind_' :: omp_get_proc_bind !dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime !dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick +!dec$ attributes alias:'_omp_get_default_device_'::omp_get_default_device +!dec$ attributes alias:'_omp_set_default_device_'::omp_set_default_device +!dec$ attributes alias:'_omp_get_num_devices_'::omp_get_num_devices !dec$ attributes alias:'_omp_get_num_teams_'::omp_get_num_teams !dec$ attributes alias:'_omp_get_team_num_'::omp_get_team_num !dec$ attributes alias:'_omp_get_cancellation_'::omp_get_cancellation !dec$ attributes alias:'_omp_is_initial_device_'::omp_is_initial_device +!dec$ attributes alias:'_omp_get_initial_device_'::omp_get_initial_device !dec$ attributes alias:'_omp_get_max_task_priorty_'::omp_get_max_task_priority - +!dec$ attributes alias:'_omp_get_device_num_'::omp_get_device_num !dec$ attributes alias:'_omp_init_lock_'::omp_init_lock !dec$ attributes alias:'_omp_init_lock_with_hint_'::omp_init_lock_with_hint !dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock @@ -886,4 +901,3 @@ !dec$ endif end module omp_lib - diff --git a/openmp/runtime/src/include/50/omp_lib.f90.var b/openmp/runtime/src/include/50/omp_lib.f90.var index 624774d783c..bbb47f9bc14 100644 --- a/openmp/runtime/src/include/50/omp_lib.f90.var +++ b/openmp/runtime/src/include/50/omp_lib.f90.var @@ -294,6 +294,11 @@ integer (kind=omp_integer_kind) omp_get_initial_device end function omp_get_initial_device + function omp_get_device_num() bind(c) + use omp_lib_kinds + integer (kind=omp_integer_kind) omp_get_device_num + end function omp_get_device_num + subroutine omp_init_lock(svar) bind(c) !DIR$ IF(__INTEL_COMPILER.GE.1400) !DIR$ attributes known_intrinsic :: omp_init_lock diff --git a/openmp/runtime/src/include/50/omp_lib.h.var b/openmp/runtime/src/include/50/omp_lib.h.var index 0e4c2c6ac9c..aae8a2cf0ac 100644 --- a/openmp/runtime/src/include/50/omp_lib.h.var +++ b/openmp/runtime/src/include/50/omp_lib.h.var @@ -327,6 +327,11 @@ integer (kind=omp_integer_kind) omp_get_initial_device end function omp_get_initial_device + function omp_get_device_num() bind(c) + import + integer (kind=omp_integer_kind) omp_get_device_num + end function omp_get_device_num + subroutine omp_init_lock(svar) bind(c) !DIR$ IF(__INTEL_COMPILER.GE.1400) !DIR$ attributes known_intrinsic :: omp_init_lock @@ -623,7 +628,9 @@ !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device +!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_initial_device !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices +!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_device_num !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock @@ -696,7 +703,9 @@ !$omp declare target(omp_get_default_device ) !$omp declare target(omp_set_default_device ) !$omp declare target(omp_is_initial_device ) +!$omp declare target(omp_get_initial_device ) !$omp declare target(omp_get_num_devices ) +!$omp declare target(omp_get_device_num ) !$omp declare target(omp_get_num_teams ) !$omp declare target(omp_get_team_num ) !$omp declare target(omp_init_lock ) |

