]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/doc/openacc-runtime-library-routines/accupdateself.rst
b1eabb998a6c5283e80471dac64cc56745c07be2
[thirdparty/gcc.git] / libgomp / doc / openacc-runtime-library-routines / accupdateself.rst
1 ..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6 .. _acc_update_self:
7
8 acc_update_self -- Update host memory from mapped device memory.
9 ****************************************************************
10
11 Description
12 This function updates the host copy from the previously mapped device memory.
13 The host memory is specified with the host address :samp:`{a}` and a length of
14 :samp:`{len}` bytes.
15
16 In Fortran, two (2) forms are supported. In the first form, :samp:`{a}` specifies
17 a contiguous array section. The second form :samp:`{a}` specifies a variable or
18 array element and :samp:`{len}` specifies the length in bytes.
19
20 C/C++:
21 .. list-table::
22
23 * - *Prototype*:
24 - ``acc_update_self(h_void *a, size_t len);``
25 * - *Prototype*:
26 - ``acc_update_self_async(h_void *a, size_t len, int async);``
27
28 Fortran:
29 .. list-table::
30
31 * - *Interface*:
32 - ``subroutine acc_update_self(a)``
33 * -
34 - ``type, dimension(:[,:]...) :: a``
35 * - *Interface*:
36 - ``subroutine acc_update_self(a, len)``
37 * -
38 - ``type, dimension(:[,:]...) :: a``
39 * -
40 - ``integer len``
41 * - *Interface*:
42 - ``subroutine acc_update_self_async(a, async)``
43 * -
44 - ``type, dimension(:[,:]...) :: a``
45 * -
46 - ``integer(acc_handle_kind) :: async``
47 * - *Interface*:
48 - ``subroutine acc_update_self_async(a, len, async)``
49 * -
50 - ``type, dimension(:[,:]...) :: a``
51 * -
52 - ``integer len``
53 * -
54 - ``integer(acc_handle_kind) :: async``
55
56 Reference:
57 :openacc:`2.6`, section
58 3.2.25.