[Openmp-commits] [PATCH] D90642: [OpenMP] Fixed an issue in the test case parallel_offloading_map

Shilei Tian via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Nov 3 12:59:27 PST 2020


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGf5eebc25cc37: [OpenMP] Fixed an issue in the test case parallel_offloading_map (authored by tianshilei1992).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90642/new/

https://reviews.llvm.org/D90642

Files:
  openmp/libomptarget/test/offloading/parallel_offloading_map.c
  openmp/libomptarget/test/offloading/parallel_offloading_map.cpp


Index: openmp/libomptarget/test/offloading/parallel_offloading_map.cpp
===================================================================
--- /dev/null
+++ openmp/libomptarget/test/offloading/parallel_offloading_map.cpp
@@ -0,0 +1,43 @@
+// RUN: %libomptarget-compilexx-run-and-check-aarch64-unknown-linux-gnu
+// RUN: %libomptarget-compilexx-run-and-check-powerpc64-ibm-linux-gnu
+// RUN: %libomptarget-compilexx-run-and-check-powerpc64le-ibm-linux-gnu
+// RUN: %libomptarget-compilexx-run-and-check-x86_64-pc-linux-gnu
+// RUN: %libomptarget-compilexx-run-and-check-nvptx64-nvidia-cuda
+
+#include <cassert>
+#include <iostream>
+
+int main(int argc, char *argv[]) {
+  constexpr const int num_threads = 64, N = 128;
+  int array[num_threads] = {0};
+
+#pragma omp parallel for
+  for (int i = 0; i < num_threads; ++i) {
+    int tmp[N];
+
+    for (int j = 0; j < N; ++j) {
+      tmp[j] = i;
+    }
+
+#pragma omp target teams distribute parallel for map(tofrom : tmp)
+    for (int j = 0; j < N; ++j) {
+      tmp[j] += j;
+    }
+
+    for (int j = 0; j < N; ++j) {
+      array[i] += tmp[j];
+    }
+  }
+
+  // Verify
+  for (int i = 0; i < num_threads; ++i) {
+    const int ref = (0 + N - 1) * N / 2 + i * N;
+    assert(array[i] == ref);
+  }
+
+  std::cout << "PASS\n";
+
+  return 0;
+}
+
+// CHECK: PASS
Index: openmp/libomptarget/test/offloading/parallel_offloading_map.c
===================================================================
--- openmp/libomptarget/test/offloading/parallel_offloading_map.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// RUN: %libomptarget-compile-aarch64-unknown-linux-gnu && env OMP_MAX_ACTIVE_LEVELS=2 %libomptarget-run-aarch64-unknown-linux-gnu | %fcheck-aarch64-unknown-linux-gnu
-// RUN: %libomptarget-compile-powerpc64-ibm-linux-gnu && env OMP_MAX_ACTIVE_LEVELS=2 %libomptarget-run-powerpc64-ibm-linux-gnu | %fcheck-powerpc64-ibm-linux-gnu
-// RUN: %libomptarget-compile-powerpc64le-ibm-linux-gnu && env OMP_MAX_ACTIVE_LEVELS=2 %libomptarget-run-powerpc64le-ibm-linux-gnu | %fcheck-powerpc64le-ibm-linux-gnu
-// RUN: %libomptarget-compile-x86_64-pc-linux-gnu && env OMP_MAX_ACTIVE_LEVELS=2 %libomptarget-run-x86_64-pc-linux-gnu | %fcheck-x86_64-pc-linux-gnu -allow-empty
-// RUN: %libomptarget-compile-nvptx64-nvidia-cuda && env OMP_MAX_ACTIVE_LEVELS=2 %libomptarget-run-nvptx64-nvidia-cuda | %fcheck-nvptx64-nvidia-cuda -allow-empty
-#include <assert.h>
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
-  const int num_threads = 64, N = 128;
-  int array[num_threads] = {0};
-
-#pragma omp parallel for
-  for (int i = 0; i < num_threads; ++i) {
-    int tmp[N];
-
-    for (int j = 0; j < N; ++j) {
-      tmp[j] = i;
-    }
-
-#pragma omp target teams distribute parallel for map(tofrom : tmp)
-    for (int j = 0; j < N; ++j) {
-      tmp[j] += j;
-    }
-
-    for (int j = 0; j < N; ++j) {
-      array[i] += tmp[j];
-    }
-  }
-
-  // Verify
-  for (int i = 0; i < num_threads; ++i) {
-    const int ref = (0 + N - 1) * N / 2 + i * N;
-    assert(array[i] == ref);
-  }
-
-  printf("PASS\n");
-
-  return 0;
-}
-
-// CHECK: PASS


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90642.302669.patch
Type: text/x-patch
Size: 3090 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20201103/eeb1aeb9/attachment.bin>


More information about the Openmp-commits mailing list