clutil.h 1006 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #ifdef __APPLE__
  3. #include <OpenCL/cl.h>
  4. #else
  5. #include <CL/cl.h>
  6. #endif
  7. #include <string>
  8. #define CL_CHECK(_expr) \
  9. do { \
  10. assert(CL_SUCCESS == (_expr)); \
  11. } while (0)
  12. #define CL_CHECK_ERR(_expr) \
  13. ({ \
  14. cl_int err = CL_INVALID_VALUE; \
  15. __typeof__(_expr) _ret = _expr; \
  16. assert(_ret&& err == CL_SUCCESS); \
  17. _ret; \
  18. })
  19. cl_device_id cl_get_device_id(cl_device_type device_type);
  20. cl_context cl_create_context(cl_device_id device_id);
  21. cl_program cl_program_from_source(cl_context ctx, cl_device_id device_id, const std::string& src, const char* args = nullptr);
  22. 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);
  23. cl_program cl_program_from_file(cl_context ctx, cl_device_id device_id, const char* path, const char* args);
  24. const char* cl_get_error_string(int err);