Commit e9b1605b authored by Joseph Noir's avatar Joseph Noir

Merge branch 'topic/opencl' of github.com:Neverlord/libcppa into topic/opencl

parents b5257b81 e981562f
...@@ -67,50 +67,17 @@ class actor_facade<Ret(Args...)> : public actor { ...@@ -67,50 +67,17 @@ class actor_facade<Ret(Args...)> : public actor {
public: public:
/* typedef cow_tuple<typename util::rm_ref<Args>::type...> args_tuple;
actor_facade(command_dispatcher* dispatcher, typedef std::function<option<args_tuple>(any_tuple)> arg_mapping;
const program& prog, typedef std::function<any_tuple(Ret&)> result_mapping;
const char* kernel_name)
: m_program(prog.m_program)
, m_context(prog.m_context)
, m_dispatcher(dispatcher)
{
CPPA_LOG_TRACE("new actor facde with ID " << this->id());
init_kernel(m_program.get(), kernel_name);
}
actor_facade(command_dispatcher* dispatcher,
const program& prog,
const char* kernel_name,
std::vector<size_t>& global_dimensions,
std::vector<size_t>& local_dimensions)
: m_program(prog.m_program)
, m_context(prog.m_context)
, m_dispatcher(dispatcher)
, m_global_dimensions(global_dimensions)
, m_local_dimensions(local_dimensions)
{
CPPA_LOG_TRACE("new actor facde with ID " << this->id());
if(m_local_dimensions .size() > 3 ||
m_global_dimensions.size() > 3) {
std::ostringstream oss;
oss << "Creating actor facade: a maximum of 3 dimensions allowed.";
CPPA_LOG_ERROR(oss.str());
throw std::runtime_error(oss.str());
}
init_kernel(m_program.get(), kernel_name);
}
*/
actor_facade(command_dispatcher* dispatcher, actor_facade(command_dispatcher* dispatcher,
const program& prog, const program& prog,
const char* kernel_name, const char* kernel_name,
std::vector<size_t> global_dimensions, std::vector<size_t> global_dimensions,
std::vector<size_t> local_dimensions, std::vector<size_t> local_dimensions,
std::function<option<cow_tuple<typename util::rm_ref<Args>::type...>>(any_tuple)> map_args, arg_mapping map_args,
std::function<any_tuple(Ret&)> map_result) result_mapping map_result)
//std::function<option<cow_tuple<Args...>>(any_tuple)> map_args,
//std::function<any_tuple(Ret& result)> map_result)
: m_program(prog.m_program) : m_program(prog.m_program)
, m_context(prog.m_context) , m_context(prog.m_context)
, m_dispatcher(dispatcher) , m_dispatcher(dispatcher)
...@@ -213,8 +180,8 @@ class actor_facade<Ret(Args...)> : public actor { ...@@ -213,8 +180,8 @@ class actor_facade<Ret(Args...)> : public actor {
command_dispatcher* m_dispatcher; command_dispatcher* m_dispatcher;
std::vector<size_t> m_global_dimensions; std::vector<size_t> m_global_dimensions;
std::vector<size_t> m_local_dimensions; std::vector<size_t> m_local_dimensions;
std::function<option<cow_tuple<Args...>>(any_tuple)> m_map_args; arg_mapping m_map_args;
std::function<any_tuple(Ret& result)> m_map_result; result_mapping m_map_result;
void add_arguments_to_kernel_rec(args_vec& arguments, void add_arguments_to_kernel_rec(args_vec& arguments,
cl_context, cl_context,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment