18 #error OpenCL has not been enabled 25 #include <OpenCL/cl.hpp> 64 std::lock_guard<std::recursive_mutex>
guard;
94 std::map<OCLAPI, cl::Kernel>
calls;
102 context = cl::Context(d);
103 queue = cl::CommandQueue(context, d);
115 DeviceContextPtr GetDeviceContextPtr(
const int& dev = -1);
117 std::vector<DeviceContextPtr> GetDeviceContextPtrVector();
122 void SetDeviceContextPtrVector(std::vector<DeviceContextPtr> vec, DeviceContextPtr dcp =
nullptr);
126 void SetDefaultDeviceContext(DeviceContextPtr dcp);
139 unsigned long PowerOf2LessThan(
unsigned long number);
Definition: oclengine.hpp:51
Definition: oclengine.hpp:46
OCLDeviceCall(const OCLDeviceCall &)
Definition: oclengine.hpp:62
Definition: oclengine.hpp:43
cl::Context context
Definition: oclengine.hpp:89
Definition: oclengine.hpp:53
OCLAPI
Definition: oclengine.hpp:38
Definition: oclengine.hpp:56
Definition: oclengine.hpp:45
Definition: oclengine.hpp:44
Definition: oclengine.hpp:41
Definition: oclengine.hpp:40
static OCLEngine * m_pInstance
Definition: oclengine.hpp:135
OCLDeviceCall(std::recursive_mutex &m, cl::Kernel &c)
Definition: oclengine.hpp:73
OCLDeviceContext(cl::Platform &p, cl::Device &d)
Definition: oclengine.hpp:97
std::shared_ptr< OCLDeviceContext > DeviceContextPtr
Definition: oclengine.hpp:34
Definition: oclengine.hpp:39
Definition: oclengine.hpp:47
std::vector< DeviceContextPtr > all_device_contexts
Definition: oclengine.hpp:129
OCLDeviceCall & operator=(const OCLDeviceCall &)=delete
Definition: oclengine.hpp:85
Definition: oclengine.hpp:48
std::lock_guard< std::recursive_mutex > guard
Definition: oclengine.hpp:64
Definition: oclengine.hpp:50
Definition: oclengine.hpp:58
cl::Device device
Definition: oclengine.hpp:88
Definition: oclengine.hpp:49
Definition: oclengine.hpp:57
Definition: oclengine.hpp:54
std::recursive_mutex mutex
Definition: oclengine.hpp:93
std::map< OCLAPI, cl::Kernel > calls
Definition: oclengine.hpp:94
OCLDeviceCall Reserve(OCLAPI call)
Definition: oclengine.hpp:105
"Qrack::OCLEngine" manages the single OpenCL context.
Definition: oclengine.hpp:110
Definition: oclengine.hpp:55
Definition: oclengine.hpp:42
cl::Platform platform
Definition: oclengine.hpp:87
DeviceContextPtr default_device_context
Definition: oclengine.hpp:130
Definition: oclengine.hpp:52
Definition: oclengine.hpp:59
Definition: complex16simd.hpp:21
cl::Kernel & call
Definition: oclengine.hpp:69
cl::CommandQueue queue
Definition: oclengine.hpp:90
int GetDeviceCount()
Get the count of devices in the current list.
Definition: oclengine.hpp:124