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 59 of file flow_graph_opencl_node.h.
using tbb::flow::interface11::opencl_factory< DeviceFilter >::async_msg_type = opencl_async_msg<T, opencl_factory<DeviceFilter> > |
Definition at line 826 of file flow_graph_opencl_node.h.
typedef opencl_device tbb::flow::interface11::opencl_factory< DeviceFilter >::device_type |
Definition at line 827 of file flow_graph_opencl_node.h.
typedef kernel tbb::flow::interface11::opencl_factory< DeviceFilter >::kernel_type |
Definition at line 869 of file flow_graph_opencl_node.h.
typedef opencl_range tbb::flow::interface11::opencl_factory< DeviceFilter >::range_type |
Definition at line 873 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 875 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 876 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 1092 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1075 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 897 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 911 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1064 of file flow_graph_opencl_node.h.
|
inlinestaticprivate |
Definition at line 1051 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1026 of file flow_graph_opencl_node.h.
|
inlineprivate |
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 1014 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 885 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1097 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::context(), and tbb::flow::interface11::opencl_factory< default_device_filter >::devices().
|
inlineprivate |
Definition at line 1081 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 941 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 947 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 923 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 929 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 983 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 988 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 967 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 992 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 958 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 963 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 950 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 953 of file flow_graph_opencl_node.h.
Definition at line 1176 of file flow_graph_opencl_node.h.
Definition at line 1178 of file flow_graph_opencl_node.h.
Definition at line 1174 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1169 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1168 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1171 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1167 of file flow_graph_opencl_node.h.