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.0.
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_async_test: | Tests for completion of a specific asynchronous operation. | |
• acc_async_test_all: | Tests for completion of all asychronous operations. | |
• acc_wait: | Wait for completion of a specific asynchronous operation. | |
• acc_wait_all: | Waits for completion of all asyncrhonous 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: | Indiciate 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. | |
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. |
Next: OpenACC Environment Variables, Previous: Enabling OpenACC, Up: Top [Contents][Index]