[Openmp-commits] [openmp] [OpenMP] Add a test for D158802 (PR #70678)
Shilei Tian via Openmp-commits
openmp-commits at lists.llvm.org
Mon Oct 30 12:57:24 PDT 2023
https://github.com/shiltian updated https://github.com/llvm/llvm-project/pull/70678
>From 21e68ca1f27e66ff8c12644404b7d62990743fc7 Mon Sep 17 00:00:00 2001
From: Shilei Tian <i at tianshilei.me>
Date: Mon, 30 Oct 2023 15:57:11 -0400
Subject: [PATCH] [OpenMP] Add a test for D158802
In D158802 we honored user's `thread_limit` value even with the optimization
introduced in D152014. This patch adds a simple test.
---
.../small_trip_count_thread_limit.cpp | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
diff --git a/openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp b/openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
new file mode 100644
index 000000000000000..9796c2dc11663bc
--- /dev/null
+++ b/openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
@@ -0,0 +1,31 @@
+// clang-format off
+// RUN: %libomptarget-compilexx-generic
+// RUN: env LIBOMPTARGET_INFO=16 \
+// RUN: %libomptarget-run-generic 2>&1 | %fcheck-generic
+
+// UNSUPPORTED: aarch64-unknown-linux-gnu
+// UNSUPPORTED: aarch64-unknown-linux-gnu-LTO
+// UNSUPPORTED: x86_64-pc-linux-gnu
+// UNSUPPORTED: x86_64-pc-linux-gnu-LTO
+
+int main(int argc, char *argv[]) {
+ constexpr const int block_size = 256;
+ constexpr const int grid_size = 4;
+ constexpr const int count = block_size * grid_size;
+
+ int *data = new int[count];
+
+#pragma omp target teams distribute parallel for thread_limit(block_size) map(from: data[0:count])
+ for (int i = 0; i < count; ++i)
+ data[i] = i;
+
+ for (int i = 0; i < count; ++i)
+ if (data[i] != i)
+ return 1;
+
+ delete[] data;
+
+ return 0;
+}
+
+// CHECK: Launching kernel {{.*}} with 4 blocks and 256 threads in SPMD mode
More information about the Openmp-commits
mailing list