[Openmp-commits] [openmp] fcf1a10 - [OMPX] Change `thread_dim` to `block_dim` and the original `block_dim` to `grid_dim`

Shilei Tian via Openmp-commits openmp-commits at lists.llvm.org
Thu Aug 3 18:51:11 PDT 2023


Author: Shilei Tian
Date: 2023-08-03T21:51:06-04:00
New Revision: fcf1a1022a08e28716da98d5983205337435a85c

URL: https://github.com/llvm/llvm-project/commit/fcf1a1022a08e28716da98d5983205337435a85c
DIFF: https://github.com/llvm/llvm-project/commit/fcf1a1022a08e28716da98d5983205337435a85c.diff

LOG: [OMPX] Change `thread_dim` to `block_dim` and the original `block_dim` to `grid_dim`

There is no `threadDim` in CUDA. Instead, it is `blockDim`. Then the current
`blockDim` is `gridDim` in CUDA.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D157051

Added: 
    

Modified: 
    openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    openmp/libomptarget/test/api/ompx_3d.c
    openmp/libomptarget/test/api/ompx_3d.cpp
    openmp/libomptarget/test/offloading/ompx_coords.c
    openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
    openmp/runtime/src/include/ompx.h.var

Removed: 
    


################################################################################
diff  --git a/openmp/libomptarget/DeviceRTL/src/Mapping.cpp b/openmp/libomptarget/DeviceRTL/src/Mapping.cpp
index cf1689e4ccd138..7c92ec17bf56a1 100644
--- a/openmp/libomptarget/DeviceRTL/src/Mapping.cpp
+++ b/openmp/libomptarget/DeviceRTL/src/Mapping.cpp
@@ -373,8 +373,8 @@ __attribute__((noinline)) uint32_t __kmpc_get_warp_size() {
   extern "C" int ompx_##NAME(int Dim) { return mapping::MAPPER_NAME(Dim); }
 
 _TGT_KERNEL_LANGUAGE(thread_id, getThreadIdInBlock)
-_TGT_KERNEL_LANGUAGE(thread_dim, getNumberOfThreadsInBlock)
 _TGT_KERNEL_LANGUAGE(block_id, getBlockIdInKernel)
-_TGT_KERNEL_LANGUAGE(block_dim, getNumberOfBlocksInKernel)
+_TGT_KERNEL_LANGUAGE(block_dim, getNumberOfThreadsInBlock)
+_TGT_KERNEL_LANGUAGE(grid_dim, getNumberOfBlocksInKernel)
 
 #pragma omp end declare target

diff  --git a/openmp/libomptarget/test/api/ompx_3d.c b/openmp/libomptarget/test/api/ompx_3d.c
index a67ad018358094..3c5078c273ace1 100644
--- a/openmp/libomptarget/test/api/ompx_3d.c
+++ b/openmp/libomptarget/test/api/ompx_3d.c
@@ -11,9 +11,9 @@ void foo(int device) {
     device(device) thread_limit(2) num_teams(5)
   for (int i = 0; i < 1000; ++i) {
     if (i == 42) {
-      tid = ompx_thread_dim_x();
+      tid = ompx_block_dim_x();
       bid = ompx_block_id_x();
-      bdim = ompx_block_dim_x();
+      bdim = ompx_grid_dim_x();
     }
   }
   // CHECK: tid: 2, bid: 1, bdim: 5

diff  --git a/openmp/libomptarget/test/api/ompx_3d.cpp b/openmp/libomptarget/test/api/ompx_3d.cpp
index 8b2f62239e6a36..9b99d28899b715 100644
--- a/openmp/libomptarget/test/api/ompx_3d.cpp
+++ b/openmp/libomptarget/test/api/ompx_3d.cpp
@@ -11,9 +11,9 @@ void foo(int device) {
     device(device) thread_limit(2) num_teams(5)
   for (int i = 0; i < 1000; ++i) {
     if (i == 42) {
-      tid = ompx::thread_dim_x();
+      tid = ompx::block_dim_x();
       bid = ompx::block_id_x();
-      bdim = ompx::block_dim_x();
+      bdim = ompx::grid_dim_x();
     }
   }
   // CHECK: tid: 2, bid: 1, bdim: 5

diff  --git a/openmp/libomptarget/test/offloading/ompx_coords.c b/openmp/libomptarget/test/offloading/ompx_coords.c
index 46cb8d4e3c1c7c..e9fbabacf73de3 100644
--- a/openmp/libomptarget/test/offloading/ompx_coords.c
+++ b/openmp/libomptarget/test/offloading/ompx_coords.c
@@ -31,7 +31,7 @@ int main(int argc, char **argv) {
     {
       int tid = ompx_thread_id_x();
       int bid = ompx_block_id_x();
-      int tdim = ompx_thread_dim_x();
+      int tdim = ompx_block_dim_x();
       int gid = tid + bid * tdim;
       if (gid < N) {
         X[gid].tid = tid;

diff  --git a/openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c b/openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
index 19c50f085a4afa..ffabc3559221b1 100644
--- a/openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
+++ b/openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
@@ -33,7 +33,7 @@ int main(int argc, char **argv) {
     {
       int tid = ompx_thread_id_x();
       int bid = ompx_block_id_x();
-      int tdim = ompx_thread_dim_x();
+      int tdim = ompx_block_dim_x();
       int gid = tid + bid * tdim;
       if (gid < N)
         Y[gid] = a * X[gid] + Y[gid];

diff  --git a/openmp/runtime/src/include/ompx.h.var b/openmp/runtime/src/include/ompx.h.var
index 58bbd639a9e9a7..5dd8e8355e4c08 100644
--- a/openmp/runtime/src/include/ompx.h.var
+++ b/openmp/runtime/src/include/ompx.h.var
@@ -58,9 +58,9 @@ enum {
 
 _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(thread_id,
                                       omp_get_ancestor_thread_num(Dim + 1))
-_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(thread_dim, omp_get_team_size(Dim + 1))
+_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(block_dim, omp_get_team_size(Dim + 1))
 _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(block_id, 0)
-_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(block_dim, 1)
+_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(grid_dim, 1)
 #undef _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C
 ///}
 
@@ -100,9 +100,9 @@ _TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block_divergent, int Ordering);
   static inline int ompx_##NAME##_z() { return ompx_##NAME(ompx_dim_z); }
 
 _TGT_KERNEL_LANGUAGE_DECL_GRID_C(thread_id)
-_TGT_KERNEL_LANGUAGE_DECL_GRID_C(thread_dim)
-_TGT_KERNEL_LANGUAGE_DECL_GRID_C(block_id)
 _TGT_KERNEL_LANGUAGE_DECL_GRID_C(block_dim)
+_TGT_KERNEL_LANGUAGE_DECL_GRID_C(block_id)
+_TGT_KERNEL_LANGUAGE_DECL_GRID_C(grid_dim)
 #undef _TGT_KERNEL_LANGUAGE_DECL_GRID_C
 ///}
 
@@ -137,9 +137,9 @@ enum {
   static inline int NAME##_z() noexcept { return NAME(ompx_dim_z); }
 
 _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(thread_id)
-_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(thread_dim)
-_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(block_id)
 _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(block_dim)
+_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(block_id)
+_TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(grid_dim)
 #undef _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX
 ///}
 


        


More information about the Openmp-commits mailing list