Next: OpenACC Environment Variables, Previous: Enabling OpenACC, Up: Top [Contents][Index]
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 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. | |
Next: OpenACC Environment Variables, Previous: Enabling OpenACC, Up: Top [Contents][Index]