|
| void | sirius::acc::stack_backtrace () |
| |
| int | sirius::acc::num_devices () |
| | Get the number of devices. More...
|
| |
| void | sirius::acc::set_device_id (int id__) |
| | Set the GPU id. More...
|
| |
| int | sirius::acc::get_device_id () |
| | Get current device ID. More...
|
| |
| std::vector< acc_stream_t > & | sirius::acc::streams () |
| | Vector of device streams. More...
|
| |
| acc_stream_t | sirius::acc::stream (stream_id sid__) |
| | Return a single device stream. More...
|
| |
| int | sirius::acc::num_streams () |
| | Get number of streams. More...
|
| |
| void | sirius::acc::create_streams (int num_streams__) |
| | Create CUDA streams. More...
|
| |
| void | sirius::acc::destroy_streams () |
| | Destroy CUDA streams. More...
|
| |
| void | sirius::acc::sync_stream (stream_id sid__) |
| | Synchronize a single stream. More...
|
| |
| void | sirius::acc::reset () |
| | Reset device. More...
|
| |
| void | sirius::acc::sync () |
| | Synchronize device. More...
|
| |
| size_t | sirius::acc::get_free_mem () |
| |
| void | sirius::acc::print_device_info (int device_id__, std::ostream &out__) |
| |
| template<typename T > |
| void | sirius::acc::copy (T *target__, T const *source__, size_t n__) |
| | Copy memory inside a device. More...
|
| |
| template<typename T > |
| void | sirius::acc::copy (T *target__, int ld1__, T const *source__, int ld2__, int nrow__, int ncol__) |
| | 2D copy inside a device. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyin (T *target__, T const *source__, size_t n__) |
| | Copy memory from host to device. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyin (T *target__, T const *source__, size_t n__, stream_id sid__) |
| | Asynchronous copy from host to device. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyin (T *target__, int ld1__, T const *source__, int ld2__, int nrow__, int ncol__) |
| | 2D copy to the device. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyin (T *target__, int ld1__, T const *source__, int ld2__, int nrow__, int ncol__, stream_id sid__) |
| | Asynchronous 2D copy to the device. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyout (T *target__, T const *source__, size_t n__) |
| | Copy memory from device to host. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyout (T *target__, T const *source__, size_t n__, stream_id sid__) |
| | Asynchronous copy from device to host. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyout (T *target__, int ld1__, T const *source__, int ld2__, int nrow__, int ncol__) |
| | 2D copy from device to host. More...
|
| |
| template<typename T > |
| void | sirius::acc::copyout (T *target__, int ld1__, T const *source__, int ld2__, int nrow__, int ncol__, stream_id sid__) |
| | Asynchronous 2D copy from device to host. More...
|
| |
| template<typename T > |
| void | sirius::acc::zero (T *ptr__, size_t n__) |
| | Zero the device memory. More...
|
| |
| template<typename T > |
| void | sirius::acc::zero (T *ptr__, size_t n__, stream_id sid__) |
| |
| template<typename T > |
| void | sirius::acc::zero (T *ptr__, int ld__, int nrow__, int ncol__) |
| | Zero the 2D block of device memory. More...
|
| |
| template<typename T > |
| T * | sirius::acc::allocate (size_t size__) |
| | Allocate memory on the GPU. More...
|
| |
| void | sirius::acc::deallocate (void *ptr__) |
| | Deallocate GPU memory. More...
|
| |
| template<typename T > |
| T * | sirius::acc::allocate_host (size_t size__) |
| | Allocate pinned memory on the host. More...
|
| |
| void | sirius::acc::deallocate_host (void *ptr__) |
| | Deallocate host memory. More...
|
| |
| void | sirius::acc::begin_range_marker (const char *label__) |
| |
| void | sirius::acc::end_range_marker () |
| |
| template<typename T > |
| void | sirius::acc::register_host (T *ptr__, size_t size__) |
| |
| void | sirius::acc::unregister_host (void *ptr) |
| |
| bool | sirius::acc::check_last_error () |
| |
| bool | sirius::acc::check_device_ptr (void const *ptr__) |
| |
|
void | sirius::scale_matrix_rows_gpu (int nrow, int ncol, acc_complex_double_t *mtrx, double const *v) |
| |
|
void | sirius::scale_matrix_elements_gpu (acc_complex_double_t *ptr__, int ld__, int nrow__, int ncol__, double beta__) |
| |
Interface to accelerators API.
Definition in file acc.hpp.