StarPU Handbook - StarPU Introduction
|
Go to the source code of this file.
Data Structures | |
struct | starpu_opencl_program |
Macros | |
#define | CL_TARGET_OPENCL_VERSION |
Functions | |
Writing OpenCL kernels | |
void | starpu_opencl_get_context (int devid, cl_context *context) |
void | starpu_opencl_get_device (int devid, cl_device_id *device) |
void | starpu_opencl_get_queue (int devid, cl_command_queue *queue) |
void | starpu_opencl_get_current_context (cl_context *context) |
void | starpu_opencl_get_current_queue (cl_command_queue *queue) |
int | starpu_opencl_set_kernel_args (cl_int *err, cl_kernel *kernel,...) |
Compiling OpenCL kernels | |
Source codes for OpenCL kernels can be stored in a file or in a string. StarPU provides functions to build the program executable for each available OpenCL device as a cl_program object. This program executable can then be loaded within a specific queue as explained in the next section. These are only helpers, Applications can also fill a starpu_opencl_program array by hand for more advanced use (e.g. different programs on the different OpenCL devices, for relocation purpose for instance). | |
void | starpu_opencl_load_program_source (const char *source_file_name, char *located_file_name, char *located_dir_name, char *opencl_program_source) |
void | starpu_opencl_load_program_source_malloc (const char *source_file_name, char **located_file_name, char **located_dir_name, char **opencl_program_source) |
int | starpu_opencl_compile_opencl_from_file (const char *source_file_name, const char *build_options) |
int | starpu_opencl_compile_opencl_from_string (const char *opencl_program_source, const char *file_name, const char *build_options) |
int | starpu_opencl_load_binary_opencl (const char *kernel_id, struct starpu_opencl_program *opencl_programs) |
int | starpu_opencl_load_opencl_from_file (const char *source_file_name, struct starpu_opencl_program *opencl_programs, const char *build_options) |
int | starpu_opencl_load_opencl_from_string (const char *opencl_program_source, struct starpu_opencl_program *opencl_programs, const char *build_options) |
int | starpu_opencl_unload_opencl (struct starpu_opencl_program *opencl_programs) |
Loading OpenCL kernels | |
int | starpu_opencl_load_kernel (cl_kernel *kernel, cl_command_queue *queue, struct starpu_opencl_program *opencl_programs, const char *kernel_name, int devid) |
int | starpu_opencl_release_kernel (cl_kernel kernel) |
OpenCL Statistics | |
int | starpu_opencl_collect_stats (cl_event event) |
OpenCL Utilities | |
#define | STARPU_OPENCL_DISPLAY_ERROR(status) |
#define | STARPU_OPENCL_REPORT_ERROR(status) |
#define | STARPU_OPENCL_REPORT_ERROR_WITH_MSG(msg, status) |
const char * | starpu_opencl_error_string (cl_int status) |
void | starpu_opencl_display_error (const char *func, const char *file, int line, const char *msg, cl_int status) |
static __starpu_inline void | starpu_opencl_report_error (const char *func, const char *file, int line, const char *msg, cl_int status) |
cl_int | starpu_opencl_allocate_memory (int devid, cl_mem *addr, size_t size, cl_mem_flags flags) |
cl_int | starpu_opencl_copy_ram_to_opencl (void *ptr, unsigned src_node, cl_mem buffer, unsigned dst_node, size_t size, size_t offset, cl_event *event, int *ret) |
cl_int | starpu_opencl_copy_opencl_to_ram (cl_mem buffer, unsigned src_node, void *ptr, unsigned dst_node, size_t size, size_t offset, cl_event *event, int *ret) |
cl_int | starpu_opencl_copy_opencl_to_opencl (cl_mem src, unsigned src_node, size_t src_offset, cl_mem dst, unsigned dst_node, size_t dst_offset, size_t size, cl_event *event, int *ret) |
cl_int | starpu_opencl_copy_async_sync (uintptr_t src, size_t src_offset, unsigned src_node, uintptr_t dst, size_t dst_offset, unsigned dst_node, size_t size, cl_event *event) |