1// RUN: %libomptarget-compile-run-and-check-generic
2// REQUIRES: ompt
3// REQUIRES: gpu
4
5/*
6 * Example OpenMP program that shows that map callbacks are not supported.
7 */
8
9#include <omp.h>
10#include <stdio.h>
11
12#include "callbacks.h"
13#include "register_non_emi_map.h"
14
15int main() {
16 int N = 100000;
17
18 int a[N];
19 int b[N];
20
21 int i;
22
23 for (i = 0; i < N; i++)
24 a[i] = 0;
25
26 for (i = 0; i < N; i++)
27 b[i] = i;
28
29#pragma omp target parallel for
30 {
31 for (int j = 0; j < N; j++)
32 a[j] = b[j];
33 }
34
35#pragma omp target teams distribute parallel for
36 {
37 for (int j = 0; j < N; j++)
38 a[j] = b[j];
39 }
40
41 int rc = 0;
42 for (i = 0; i < N; i++)
43 if (a[i] != b[i]) {
44 rc++;
45 printf(format: "Wrong value: a[%d]=%d\n", i, a[i]);
46 }
47
48 if (!rc)
49 printf(format: "Success\n");
50
51 return rc;
52}
53
54
55/// CHECK: 0: Could not register callback 'ompt_callback_target_map'
56/// CHECK: Callback Init:
57/// CHECK: Callback Load:
58/// CHECK: Callback Target: target_id=[[TARGET_ID:[0-9]+]] kind=1 endpoint=1
59/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=1
60/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=2
61/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=1
62/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=2
63/// CHECK: Callback Submit: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] req_num_teams=1
64/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=3
65/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=3
66/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=4
67/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=4
68/// CHECK: Callback Target: target_id=[[TARGET_ID:[0-9]+]] kind=1 endpoint=2
69
70/// CHECK: Callback Target: target_id=[[TARGET_ID:[0-9]+]] kind=1 endpoint=1
71/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=1
72/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=2
73/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=1
74/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=2
75/// CHECK: Callback Submit: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] req_num_teams=0
76/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=3
77/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=3
78/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=4
79/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=4
80/// CHECK: Callback Target: target_id=[[TARGET_ID:[0-9]+]] kind=1 endpoint=2
81/// CHECK: Callback Fini:
82

source code of offload/test/ompt/veccopy_map.c