acc_copyin – Allocate device memory and copy host memory to it.#

Description

In C/C++, this function allocates len bytes of device memory and maps it to the specified host address in a. The device address of the newly allocated device memory is returned.

In Fortran, two (2) forms are supported. In the first form, a specifies a contiguous array section. The second form a specifies a variable or array element and len specifies the length in bytes.

C/C++:

Prototype:

void *acc_copyin(h_void *a, size_t len);

Prototype:

void *acc_copyin_async(h_void *a, size_t len, int async);

Fortran:

Interface:

subroutine acc_copyin(a)

type, dimension(:[,:]...) :: a

Interface:

subroutine acc_copyin(a, len)

type, dimension(:[,:]...) :: a

integer len

Interface:

subroutine acc_copyin_async(a, async)

type, dimension(:[,:]...) :: a

integer(acc_handle_kind) :: async

Interface:

subroutine acc_copyin_async(a, len, async)

type, dimension(:[,:]...) :: a

integer len

integer(acc_handle_kind) :: async

Reference:

OpenACC specification v2.6, section 3.2.20.