diff options
author | Ivan Shapovalov <intelfx@intelfx.name> | 2016-07-11 23:14:43 +0300 |
---|---|---|
committer | Ivan Shapovalov <intelfx@intelfx.name> | 2016-07-22 11:15:52 +0300 |
commit | ae3299da302ba2c26f1e3490a1a7ee389d91feee (patch) | |
tree | 2dad4c3714a4dfd638da2dcaedf50b6d84bda0c1 /src/clpp11.hpp | |
parent | 5502c5eec4c7b56c3b44ef04046d1621d58be47f (diff) |
clblast::RunKernel, cl::Kernel: unify variants with/without waitForEvents, support empty LWS
Diffstat (limited to 'src/clpp11.hpp')
-rw-r--r-- | src/clpp11.hpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/clpp11.hpp b/src/clpp11.hpp index debfff09..d57223dd 100644 --- a/src/clpp11.hpp +++ b/src/clpp11.hpp @@ -695,23 +695,14 @@ class Kernel { if (waitEvent()) { waitForEventsPlain.push_back(waitEvent()); } } - if (waitForEvents.size() == 0) { return Launch(queue, global, local, event); } - // Launches the kernel while waiting for other events CheckError(clEnqueueNDRangeKernel(queue(), *kernel_, static_cast<cl_uint>(global.size()), - nullptr, global.data(), local.data(), + nullptr, global.data(), !local.empty() ? local.data() : nullptr, static_cast<cl_uint>(waitForEventsPlain.size()), - waitForEventsPlain.data(), + !waitForEventsPlain.empty() ? waitForEventsPlain.data() : nullptr, event)); } - // As above, but with the default local workgroup size - void Launch(const Queue &queue, const std::vector<size_t> &global, EventPointer event) { - CheckError(clEnqueueNDRangeKernel(queue(), *kernel_, static_cast<cl_uint>(global.size()), - nullptr, global.data(), nullptr, - 0, nullptr, event)); - } - // Accessor to the private data-member const cl_kernel& operator()() const { return *kernel_; } private: |