brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 7a8556d Raw
65 lines · c
1// clang-format off2// RUN: %libomp-c99-compile-and-run | %sort-threads | FileCheck %s3// REQUIRES: ompt4// UNSUPPORTED: gcc-4, gcc-5, gcc-6, gcc-75// clang-format on6#include "callback.h"7#include <omp.h>8 9int main() {10  int a[10][10];11#pragma omp parallel num_threads(2)12#pragma omp for ordered(2) schedule(static)13  for (int i = 0; i < 2; i++)14    for (int j = 0; j < 2; j++) {15      a[i][j] = i + j + 1;16      printf("%d, %d\n", i, j);17#pragma omp ordered depend(sink : i - 1, j) depend(sink : i, j - 1)18      if (i > 0 && j > 0)19        a[i][j] = a[i - 1][j] + a[i][j - 1] + 1;20      printf("%d, %d\n", i, j);21#pragma omp ordered depend(source)22    }23 24  return 0;25}26// clang-format off27// CHECK: 0: NULL_POINTER=[[NULL:.*$]]28 29// CHECK: {{^}}[[MASTER:[0-9]+]]: ompt_event_loop_static_begin:30// CHECK-SAME: parallel_id={{[0-f]+}}, task_id=[[ITASK:[0-9]+]],31 32// CHECK: {{^}}[[MASTER]]: ompt_event_dependences: task_id=[[ITASK]],33// CHECK-SAME: deps=[(0, ompt_dependence_type_source), (0,34// CHECK-SAME: ompt_dependence_type_source)], ndeps=235 36// CHECK: {{^}}[[MASTER]]: ompt_event_dependences: task_id=[[ITASK]],37// CHECK-SAME: deps=[(0, ompt_dependence_type_sink), (0,38// CHECK-SAME: ompt_dependence_type_sink)], ndeps=239 40// CHECK: {{^}}[[MASTER]]: ompt_event_dependences: task_id=[[ITASK]],41// CHECK-SAME: deps=[(0, ompt_dependence_type_source), (1,42// CHECK-SAME: ompt_dependence_type_source)], ndeps=243 44// CHECK: {{^}}[[WORKER:[0-9]+]]: ompt_event_loop_static_begin:45// CHECK-SAME: parallel_id={{[0-f]+}}, task_id=[[ITASK:[0-9]+]],46 47// CHECK: {{^}}[[WORKER]]: ompt_event_dependences: task_id=[[ITASK]],48// CHECK-SAME: deps=[(0, ompt_dependence_type_sink), (0,49// CHECK-SAME: ompt_dependence_type_sink)], ndeps=250 51// CHECK: {{^}}[[WORKER]]: ompt_event_dependences: task_id=[[ITASK]],52// CHECK-SAME: deps=[(1, ompt_dependence_type_source), (0,53// CHECK-SAME: ompt_dependence_type_source)], ndeps=254 55// either can be first for last iteration56 57// CHECK-DAG: [[ITASK]]{{.*}}deps=[(0{{.*}}sink), (1,{{.*}}sink)]58 59// CHECK-DAG: [[ITASK]]{{.*}}deps=[(1{{.*}}sink), (0,{{.*}}sink)]60 61// CHECK: {{^}}[[WORKER]]: ompt_event_dependences: task_id=[[ITASK]],62// CHECK-SAME: deps=[(1, ompt_dependence_type_source), (1,63// CHECK-SAME: ompt_dependence_type_source)], ndeps=264// clang-format on65