Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
/* Call 'acc_memcpy_from_device' inside '#pragma acc host_data'. */ /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ #include <assert.h> #include <stdlib.h> #include <string.h> #include <openacc.h> int main () { const int SIZE = 318; const int c0 = 22; const int c1 = 112; char *h = (char *) malloc (SIZE); memset (h, c0, SIZE); #pragma acc data create (h[0:SIZE - 44]) { #pragma acc update device (h[0:SIZE - 44]) memset (h, c1, 67); void *d = h; #pragma acc host_data use_device (d) { acc_memcpy_from_device (h, d, 12); } } for (int i = 0; i < SIZE; ++i) { if (i < 12) assert (h[i] == c0); else if (i < 67) assert (h[i] == c1); else assert (h[i] == c0); } free (h); return 0; }