22 #ifndef SINGA_UTILS_OPENCL_UTILS_H_ 23 #define SINGA_UTILS_OPENCL_UTILS_H_ 27 #define CL_USE_DEPRECATED_OPENCL_1_2_APIS 29 #define CL_HPP_MINIMUM_OPENCL_VERSION 120 30 #define CL_HPP_TARGET_OPENCL_VERSION 120 32 #ifndef VIENNACL_WITH_OPENCL 33 #define VIENNACL_WITH_OPENCL 39 #include "OpenCL/cl.h" 42 #include <viennacl/backend/opencl.hpp> 44 #include <viennacl/ocl/device.hpp> 45 #include <viennacl/ocl/platform.hpp> 46 #include <viennacl/ocl/backend.hpp> 47 #include <viennacl/ocl/device_utils.hpp> 48 #include <viennacl/ocl/utils.hpp> 49 #include <viennacl/ocl/program.hpp> 50 #include <viennacl/ocl/kernel.hpp> 53 inline viennacl::ocl::handle<cl_mem>
54 WrapHandle(cl_mem in, viennacl::ocl::context &ctx) {
56 viennacl::ocl::handle<cl_mem> memhandle(in, ctx);
61 cl_mem dummy = clCreateBuffer(ctx.handle().get(), CL_MEM_READ_WRITE, 0,
63 viennacl::ocl::handle<cl_mem> memhandle(dummy, ctx);
70 #endif // SINGA_UTILS_OPENCL_UTILS_H_