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 49 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 813 of file flow_graph_opencl_node.h.
typedef opencl_device tbb::flow::interface10::opencl_factory< DeviceFilter >::device_type |
Definition at line 814 of file flow_graph_opencl_node.h.
typedef kernel tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel_type |
Definition at line 856 of file flow_graph_opencl_node.h.
typedef opencl_range tbb::flow::interface10::opencl_factory< DeviceFilter >::range_type |
Definition at line 860 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 862 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 863 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 1079 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1062 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 884 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 898 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1051 of file flow_graph_opencl_node.h.
|
inlinestaticprivate |
Definition at line 1038 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::finalize().
|
inlineprivate |
Definition at line 1013 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::finalize(), and tbb::flow::interface10::opencl_factory< default_device_filter >::get_event_from_args().
|
inlineprivate |
Definition at line 1021 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 996 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::get_event_from_args().
|
inlineprivate |
Definition at line 1001 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 872 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1084 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 1068 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 928 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::process_arg_list(), and tbb::flow::interface10::opencl_factory< default_device_filter >::send_kernel().
|
inlineprivate |
Definition at line 934 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 910 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::process_arg_list(), and tbb::flow::interface10::opencl_factory< default_device_filter >::process_one_arg().
|
inlineprivate |
Definition at line 916 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 970 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::send_data().
|
inline |
Definition at line 975 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 954 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 979 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::send_kernel().
|
inlineprivate |
Definition at line 945 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::send_kernel(), and tbb::flow::interface10::opencl_factory< default_device_filter >::update_arg_list().
|
inlineprivate |
Definition at line 950 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 937 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::update_arg_list().
|
inlineprivate |
Definition at line 940 of file flow_graph_opencl_node.h.
Definition at line 1163 of file flow_graph_opencl_node.h.
Definition at line 1165 of file flow_graph_opencl_node.h.
Definition at line 1161 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1156 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::context(), tbb::flow::interface10::opencl_factory< default_device_filter >::init_once(), and tbb::flow::interface10::opencl_factory< default_device_filter >::~opencl_factory().
|
private |
Definition at line 1155 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::devices(), tbb::flow::interface10::opencl_factory< default_device_filter >::init(), tbb::flow::interface10::opencl_factory< default_device_filter >::init_once(), and tbb::flow::interface10::opencl_factory< default_device_filter >::~opencl_factory().
|
private |
Definition at line 1158 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface10::opencl_factory< default_device_filter >::init(), and tbb::flow::interface10::opencl_factory< default_device_filter >::init_once().
|
private |
Definition at line 1154 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().