From 6578ce2c4d77f01971a6e896f42eb0164de637ed Mon Sep 17 00:00:00 2001 From: Denis Demidov Date: Thu, 27 Oct 2016 22:47:48 +0300 Subject: [PATCH] Allow passing generated kernel args for each GPU (#213) Kernel args packed into std::vector will be unpacked and passed to the generated kernels on respective devices. See #202 --- vexcl/generator.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vexcl/generator.hpp b/vexcl/generator.hpp index 14a948173..d8cb04d7c 100644 --- a/vexcl/generator.hpp +++ b/vexcl/generator.hpp @@ -560,6 +560,13 @@ class kernel { } } + template + void push_arg(const std::vector &args) { + for(unsigned d = 0; d < queue.size(); d++) { + cache.find(backend::get_context_id(queue[d]))->second.push_arg(args[d]); + } + } + void operator()() { for(unsigned d = 0; d < queue.size(); d++) { auto &K = cache.find(backend::get_context_id(queue[d]))->second;