void exec_fn(cl_fn &fn, cl::Buffer &buf, size_t n, size_t offset, size_t global_size, std::vector<cl::Event> &events, cl::CommandQueue &queue) { cl::NDRange global_range(global_size); cl::NDRange local_range(WORKGROUP_SIZE); cl::EnqueueArgs args(queue, events, global_range, local_range); events.push_back(fn(args, buf, n, offset)); }
//----------------------------------------------------------------------------- std::pair<std::size_t, std::size_t> dolfin::MPI::local_range(unsigned int process, std::size_t N) { return local_range(process, N, num_processes()); }
//----------------------------------------------------------------------------- std::pair<std::size_t, std::size_t> dolfin::MPI::local_range(std::size_t N) { return local_range(process_number(), N); }