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