Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <flow_graph_opencl_node.h>
Classes | |
struct | finalize_fn |
struct | finalize_fn_leaf |
class | kernel |
Public Types | |
template<typename T > | |
using | async_msg_type = opencl_async_msg< T, opencl_factory< DeviceFilter > > |
typedef opencl_device | device_type |
typedef kernel | kernel_type |
typedef opencl_range | range_type |
Public Member Functions | |
opencl_factory () | |
~opencl_factory () | |
bool | init (const opencl_device_list &device_list) |
template<typename ... Args> | |
void | send_kernel (opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &... args) |
template<typename T , typename ... Rest> | |
void | send_data (opencl_device device, T &t, Rest &... args) |
void | send_data (opencl_device) |
template<typename FinalizeFn , typename ... Args> | |
void | finalize (opencl_device device, FinalizeFn fn, Args &... args) |
const opencl_device_list & | devices () |
Private Member Functions | |
template<typename Factory > | |
void | enqueue_map_buffer (opencl_device device, opencl_buffer_impl< Factory > &buffer, opencl_async_msg< void *, Factory > &dmsg) |
template<typename Factory > | |
void | enqueue_unmap_buffer (opencl_device device, opencl_memory< Factory > &memory, opencl_async_msg< void *, Factory > &dmsg) |
template<size_t NUM_ARGS, typename T > | |
void | process_one_arg (const kernel_type &kernel, std::array< cl_event, NUM_ARGS > &, int &, int &place, const T &t) |
template<size_t NUM_ARGS, typename T , typename F > | |
void | process_one_arg (const kernel_type &kernel, std::array< cl_event, NUM_ARGS > &events, int &num_events, int &place, const opencl_async_msg< T, F > &msg) |
template<size_t NUM_ARGS, typename T , typename ... Rest> | |
void | process_arg_list (const kernel_type &kernel, std::array< cl_event, NUM_ARGS > &events, int &num_events, int &place, const T &t, const Rest &... args) |
template<size_t NUM_ARGS> | |
void | process_arg_list (const kernel_type &, std::array< cl_event, NUM_ARGS > &, int &, int &) |
template<typename T > | |
void | update_one_arg (cl_event, T &) |
template<typename T , typename F > | |
void | update_one_arg (cl_event e, opencl_async_msg< T, F > &msg) |
template<typename T , typename ... Rest> | |
void | update_arg_list (cl_event e, T &t, Rest &... args) |
void | update_arg_list (cl_event) |
cl_event | send_kernel_impl (opencl_device device, const cl_kernel &kernel, const range_type &work_size, cl_uint num_events, cl_event *event_list) |
template<typename T > | |
bool | get_event_from_one_arg (cl_event &, const T &) |
template<typename T , typename F > | |
bool | get_event_from_one_arg (cl_event &e, const opencl_async_msg< T, F > &msg) |
template<typename T , typename ... Rest> | |
bool | get_event_from_args (cl_event &e, const T &t, const Rest &... args) |
bool | get_event_from_args (cl_event &) |
bool | is_same_context (opencl_device::device_id_type d1, opencl_device::device_id_type d2) |
opencl_factory (const opencl_factory &) | |
opencl_factory & | operator= (const opencl_factory &) |
cl_context | context () |
void | init_once () |
Static Private Member Functions | |
static void CL_CALLBACK | finalize_callback (cl_event, cl_int event_command_exec_status, void *data) |
Private Attributes | |
std::once_flag | my_once_flag |
opencl_device_list | my_devices |
cl_context | my_cl_context |
tbb::spin_mutex | my_devices_mutex |
Friends | |
template<typename Factory > | |
class | opencl_program |
template<typename Factory > | |
class | opencl_buffer_impl |
template<typename Factory > | |
class | opencl_memory |
Definition at line 45 of file flow_graph_opencl_node.h.
using tbb::flow::interface10::opencl_factory< DeviceFilter >::async_msg_type = opencl_async_msg<T, opencl_factory<DeviceFilter> > |
Definition at line 809 of file flow_graph_opencl_node.h.
typedef opencl_device tbb::flow::interface10::opencl_factory< DeviceFilter >::device_type |
Definition at line 810 of file flow_graph_opencl_node.h.
typedef kernel tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel_type |
Definition at line 852 of file flow_graph_opencl_node.h.
typedef opencl_range tbb::flow::interface10::opencl_factory< DeviceFilter >::range_type |
Definition at line 856 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 858 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 859 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 1075 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1058 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 880 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 894 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1047 of file flow_graph_opencl_node.h.
|
inlinestaticprivate |
Definition at line 1034 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1009 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1017 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 992 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 997 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 868 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1080 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::context(), and tbb::flow::interface10::opencl_factory< default_device_filter >::devices().
|
inlineprivate |
Definition at line 1064 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 924 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 930 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 906 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 912 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 966 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 971 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 950 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 975 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 941 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 946 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 933 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 936 of file flow_graph_opencl_node.h.
Definition at line 1159 of file flow_graph_opencl_node.h.
Definition at line 1161 of file flow_graph_opencl_node.h.
Definition at line 1157 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1152 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1151 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1154 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1150 of file flow_graph_opencl_node.h.