[Openmp-commits] [openmp] r262533 - Forgot to add test files for doacross and task priority.

Jonathan Peyton via Openmp-commits openmp-commits at lists.llvm.org
Wed Mar 2 14:43:15 PST 2016


Author: jlpeyton
Date: Wed Mar  2 16:43:14 2016
New Revision: 262533

URL: http://llvm.org/viewvc/llvm-project?rev=262533&view=rev
Log:
Forgot to add test files for doacross and task priority.

Added:
    openmp/trunk/runtime/test/tasking/omp_task_priority.c   (with props)
    openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c   (with props)

Added: openmp/trunk/runtime/test/tasking/omp_task_priority.c
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/test/tasking/omp_task_priority.c?rev=262533&view=auto
==============================================================================
--- openmp/trunk/runtime/test/tasking/omp_task_priority.c (added)
+++ openmp/trunk/runtime/test/tasking/omp_task_priority.c Wed Mar  2 16:43:14 2016
@@ -0,0 +1,22 @@
+// RUN: %libomp-compile && env OMP_MAX_TASK_PRIORITY=42 %libomp-run
+// Test OMP 4.5 task priorities
+// Currently only API function and envirable parsing implemented.
+// Test environment sets envirable: OMP_MAX_TASK_PRIORITY=42 as tested below.
+#include <stdio.h>
+#include <omp.h>
+
+int main (void) {
+    int passed;
+
+    passed = (omp_get_max_task_priority() == 42);    
+    printf("Got %d\n", omp_get_max_task_priority());
+
+    if (passed) {
+       printf("passed\n");
+       return 0;
+    }
+
+    printf("failed\n");
+    return 1;
+}
+

Propchange: openmp/trunk/runtime/test/tasking/omp_task_priority.c
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: openmp/trunk/runtime/test/tasking/omp_task_priority.c
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Rev URL

Propchange: openmp/trunk/runtime/test/tasking/omp_task_priority.c
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c?rev=262533&view=auto
==============================================================================
--- openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c (added)
+++ openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c Wed Mar  2 16:43:14 2016
@@ -0,0 +1,56 @@
+// RUN: %libomp-compile-and-run
+#include <stdio.h>
+
+#define N   1000
+
+struct dim {
+  long long lo; // lower
+  long long up; // upper
+  long long st; // stride
+};
+extern void __kmpc_doacross_init(void*, int, int, struct dim *);
+extern void __kmpc_doacross_wait(void*, int, long long*);
+extern void __kmpc_doacross_post(void*, int, long long*);
+extern void __kmpc_doacross_fini(void*, int);
+extern int __kmpc_global_thread_num(void*);
+
+int main()
+{
+  int i;
+  int iter[N];
+  struct dim dims;
+  for( i = 0; i < N; ++i )
+    iter[i] = 1;
+  dims.lo = 1;
+  dims.up = N-1;
+  dims.st = 1;
+  #pragma omp parallel
+  {
+    int i, gtid;
+    long long vec;
+    gtid = __kmpc_global_thread_num(NULL);
+    __kmpc_doacross_init(NULL,gtid,1,&dims); // thread starts the loop
+    #pragma omp for nowait schedule(dynamic)
+    for( i = 1; i < N; ++i )
+    {
+      // runtime call corresponding to #pragma omp ordered depend(sink:i-1)
+      vec=i-1;
+      __kmpc_doacross_wait(NULL,gtid,&vec);
+      // user's code
+      iter[i] = iter[i-1] + 1;
+      // runtime call corresponding to #pragma omp ordered depend(source)
+      vec=i;
+      __kmpc_doacross_post(NULL,gtid,&vec);
+    }
+    // thread finishes the loop (should be before the loop barrier)
+    __kmpc_doacross_fini(NULL,gtid);
+  }
+  if( iter[N-1] == N ) {
+    printf("passed\n");
+  } else {
+    printf("failed %d != %d\n", iter[N-1], N);
+    return 1;
+  }
+  return 0;
+}
+

Propchange: openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Rev URL

Propchange: openmp/trunk/runtime/test/worksharing/for/kmp_doacross_check.c
------------------------------------------------------------------------------
    svn:mime-type = text/plain




More information about the Openmp-commits mailing list