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 of
acc_on_device
, which is available for both the host and the
acceleration device.
acc_get_num_devices
– Get number of devices for given device typeacc_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
– Test 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 deviceacc_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.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.acc_prof_register
– Register callbacks.acc_prof_unregister
– Unregister callbacks.acc_prof_lookup
– Obtain inquiry functions.acc_register_library
– Library registration.