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 48 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 812 of file flow_graph_opencl_node.h.
typedef opencl_device tbb::flow::interface11::opencl_factory< DeviceFilter >::device_type |
Definition at line 813 of file flow_graph_opencl_node.h.
typedef kernel tbb::flow::interface11::opencl_factory< DeviceFilter >::kernel_type |
Definition at line 855 of file flow_graph_opencl_node.h.
typedef opencl_range tbb::flow::interface11::opencl_factory< DeviceFilter >::range_type |
Definition at line 859 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 861 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 862 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 1078 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1061 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 883 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 897 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 1050 of file flow_graph_opencl_node.h.
|
inlinestaticprivate |
Definition at line 1037 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::finalize().
|
inlineprivate |
Definition at line 1012 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::finalize(), and tbb::flow::interface11::opencl_factory< default_device_filter >::get_event_from_args().
|
inlineprivate |
Definition at line 1020 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 995 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::get_event_from_args().
|
inlineprivate |
Definition at line 1000 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 871 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 1083 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 1067 of file flow_graph_opencl_node.h.
|
private |
|
inlineprivate |
Definition at line 927 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::process_arg_list(), and tbb::flow::interface11::opencl_factory< default_device_filter >::send_kernel().
|
inlineprivate |
Definition at line 933 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 909 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::process_arg_list(), and tbb::flow::interface11::opencl_factory< default_device_filter >::process_one_arg().
|
inlineprivate |
Definition at line 915 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 969 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::send_data().
|
inline |
Definition at line 974 of file flow_graph_opencl_node.h.
|
inline |
Definition at line 953 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 978 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::send_kernel().
|
inlineprivate |
Definition at line 944 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::send_kernel(), and tbb::flow::interface11::opencl_factory< default_device_filter >::update_arg_list().
|
inlineprivate |
Definition at line 949 of file flow_graph_opencl_node.h.
|
inlineprivate |
Definition at line 936 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::update_arg_list().
|
inlineprivate |
Definition at line 939 of file flow_graph_opencl_node.h.
Definition at line 1162 of file flow_graph_opencl_node.h.
Definition at line 1164 of file flow_graph_opencl_node.h.
Definition at line 1160 of file flow_graph_opencl_node.h.
|
private |
Definition at line 1155 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::context(), tbb::flow::interface11::opencl_factory< default_device_filter >::init_once(), and tbb::flow::interface11::opencl_factory< default_device_filter >::~opencl_factory().
|
private |
Definition at line 1154 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::devices(), tbb::flow::interface11::opencl_factory< default_device_filter >::init(), tbb::flow::interface11::opencl_factory< default_device_filter >::init_once(), and tbb::flow::interface11::opencl_factory< default_device_filter >::~opencl_factory().
|
private |
Definition at line 1157 of file flow_graph_opencl_node.h.
Referenced by tbb::flow::interface11::opencl_factory< default_device_filter >::init(), and tbb::flow::interface11::opencl_factory< default_device_filter >::init_once().
|
private |
Definition at line 1153 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().