summaryrefslogtreecommitdiff
path: root/src/clpp11.hpp
diff options
context:
space:
mode:
authorIvan Shapovalov <intelfx@intelfx.name>2016-07-11 23:14:43 +0300
committerIvan Shapovalov <intelfx@intelfx.name>2016-07-22 11:15:52 +0300
commitae3299da302ba2c26f1e3490a1a7ee389d91feee (patch)
tree2dad4c3714a4dfd638da2dcaedf50b6d84bda0c1 /src/clpp11.hpp
parent5502c5eec4c7b56c3b44ef04046d1621d58be47f (diff)
clblast::RunKernel, cl::Kernel: unify variants with/without waitForEvents, support empty LWS
Diffstat (limited to 'src/clpp11.hpp')
-rw-r--r--src/clpp11.hpp13
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: