You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
952 B
29 lines
952 B
4 years ago
|
#pragma once
|
||
5 years ago
|
|
||
|
#ifdef __APPLE__
|
||
|
#include <OpenCL/cl.h>
|
||
|
#else
|
||
|
#include <CL/cl.h>
|
||
|
#endif
|
||
|
|
||
4 years ago
|
#include <string>
|
||
|
|
||
4 years ago
|
#define CL_CHECK(_expr) \
|
||
|
do { \
|
||
4 years ago
|
assert(CL_SUCCESS == (_expr)); \
|
||
4 years ago
|
} while (0)
|
||
|
|
||
|
#define CL_CHECK_ERR(_expr) \
|
||
|
({ \
|
||
|
cl_int err = CL_INVALID_VALUE; \
|
||
|
__typeof__(_expr) _ret = _expr; \
|
||
|
assert(_ret&& err == CL_SUCCESS); \
|
||
|
_ret; \
|
||
|
})
|
||
|
|
||
5 years ago
|
cl_device_id cl_get_device_id(cl_device_type device_type);
|
||
4 years ago
|
cl_program cl_program_from_source(cl_context ctx, cl_device_id device_id, const std::string& src, const char* args = nullptr);
|
||
|
cl_program cl_program_from_binary(cl_context ctx, cl_device_id device_id, const uint8_t* binary, size_t length, const char* args = nullptr);
|
||
4 years ago
|
cl_program cl_program_from_file(cl_context ctx, cl_device_id device_id, const char* path, const char* args);
|
||
5 years ago
|
const char* cl_get_error_string(int err);
|