1// RUN: %libomptarget-compile-run-and-check-generic
2// REQUIRES: ompt
3// REQUIRES: gpu
4
5#include "omp.h"
6#include <stdlib.h>
7#include <string.h>
8
9#include "callbacks.h"
10#include "register_non_emi.h"
11
12#define N 1024
13
14int main(int argc, char **argv) {
15 int *h_a;
16 int *d_a;
17
18 h_a = (int *)malloc(N * sizeof(int));
19 memset(s: h_a, c: 0, N);
20
21 d_a = (int *)omp_target_alloc(N * sizeof(int), omp_get_default_device());
22
23 omp_target_associate_ptr(h_a, d_a, N * sizeof(int), 0,
24 omp_get_default_device());
25 omp_target_disassociate_ptr(h_a, omp_get_default_device());
26
27 omp_target_free(d_a, omp_get_default_device());
28 free(ptr: h_a);
29
30 return 0;
31}
32
33// clang-format off
34/// CHECK: Callback Init:
35/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=1
36/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=5
37/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=6
38/// CHECK: Callback DataOp: target_id=[[TARGET_ID:[0-9]+]] host_op_id=[[HOST_OP_ID:[0-9]+]] optype=4
39/// CHECK: Callback Fini:
40

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

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