OpenACC Runtime Library Routines (GNU libgomp) (original) (raw)

The runtime routines described here are defined by section 3 of the OpenACC specifications in version 2.6. They have C linkage, and do not throw exceptions. Generally, they are available only for the host, with the exception ofacc_on_device, which is available for both the host and the acceleration device.

acc_get_num_devices:

Get number of devices for the given device type.

acc_set_device_type:

Set type of device accelerator to use.

acc_get_device_type:

Get type of device accelerator to be used.

acc_set_device_num:

Set device number to use.

acc_get_device_num:

Get device number to be used.

acc_get_property:

Get device property.

acc_async_test:

Tests for completion of a specific asynchronous operation.

acc_async_test_all:

Tests for completion of all asynchronous operations.

acc_wait:

Wait for completion of a specific asynchronous operation.

acc_wait_all:

Waits for completion of all asynchronous operations.

acc_wait_all_async:

Wait for completion of all asynchronous operations.

acc_wait_async:

Wait for completion of asynchronous operations.

acc_init:

Initialize runtime for a specific device type.

acc_shutdown:

Shuts down the runtime for a specific device type.

acc_on_device:

Whether executing on a particular device

acc_malloc:

Allocate device memory.

acc_free:

Free device memory.

acc_copyin:

Allocate device memory and copy host memory to it.

acc_present_or_copyin:

If the data is not present on the device, allocate device memory and copy from host memory.

acc_create:

Allocate device memory and map it to host memory.

acc_present_or_create:

If the data is not present on the device, allocate device memory and map it to host memory.

acc_copyout:

Copy device memory to host memory.

acc_delete:

Free device memory.

acc_update_device:

Update device memory from mapped host memory.

acc_update_self:

Update host memory from mapped device memory.

acc_map_data:

Map previously allocated device memory to host memory.

acc_unmap_data:

Unmap device memory from host memory.

acc_deviceptr:

Get device pointer associated with specific host address.

acc_hostptr:

Get host pointer associated with specific device address.

acc_is_present:

Indicate whether host variable / array is present on device.

acc_memcpy_to_device:

Copy host memory to device memory.

acc_memcpy_from_device:

Copy device memory to host memory.

acc_attach:

Let device pointer point to device-pointer target.

acc_detach:

Let device pointer point to host-pointer target.

API routines for target platforms.

acc_get_current_cuda_device:

Get CUDA device handle.

acc_get_current_cuda_context:

Get CUDA context handle.

acc_get_cuda_stream:

Get CUDA stream handle.

acc_set_cuda_stream:

Set CUDA stream handle.

API routines for the OpenACC Profiling Interface.

acc_prof_register:

Register callbacks.

acc_prof_unregister:

Unregister callbacks.

acc_prof_lookup:

Obtain inquiry functions.

acc_register_library:

Library registration.