#include <flow_graph_opencl_node.h>
Definition at line 119 of file flow_graph_opencl_node.h.
◆ device_id_type
◆ anonymous enum
◆ opencl_device() [1/3]
tbb::flow::interface11::opencl_device::opencl_device |
( |
| ) |
|
|
inline |
Definition at line 127 of file flow_graph_opencl_node.h.
device_id_type my_device_id
cl_device_id my_cl_device_id
cl_command_queue my_cl_command_queue
◆ opencl_device() [2/3]
tbb::flow::interface11::opencl_device::opencl_device |
( |
cl_device_id |
d_id | ) |
|
|
inline |
◆ opencl_device() [3/3]
tbb::flow::interface11::opencl_device::opencl_device |
( |
cl_device_id |
cl_d_id, |
|
|
device_id_type |
device_id |
|
) |
| |
|
inline |
◆ address_bits()
cl_uint tbb::flow::interface11::opencl_device::address_bits |
( |
| ) |
const |
|
inline |
◆ available()
cl_bool tbb::flow::interface11::opencl_device::available |
( |
| ) |
const |
|
inline |
◆ built_in_kernel_available()
bool tbb::flow::interface11::opencl_device::built_in_kernel_available |
( |
const std::string & |
k | ) |
const |
|
inline |
Definition at line 189 of file flow_graph_opencl_node.h.
189 {
190 const std::string semi = ";";
191
192 return (semi +
built_in_kernels() + semi).find( semi + k + semi ) != std::string::npos;
193 }
std::string built_in_kernels() const
◆ built_in_kernels()
std::string tbb::flow::interface11::opencl_device::built_in_kernels |
( |
| ) |
const |
|
inline |
Definition at line 194 of file flow_graph_opencl_node.h.
194 {
196 }
std::string device_info< std::string >(cl_device_id d, cl_device_info i)
◆ command_queue()
cl_command_queue tbb::flow::interface11::opencl_device::command_queue |
( |
| ) |
const |
|
inline |
◆ compiler_available()
cl_bool tbb::flow::interface11::opencl_device::compiler_available |
( |
| ) |
const |
|
inline |
◆ device_id()
cl_device_id tbb::flow::interface11::opencl_device::device_id |
( |
| ) |
const |
|
inline |
◆ extension_available()
bool tbb::flow::interface11::opencl_device::extension_available |
( |
const std::string & |
ext | ) |
const |
|
inline |
Definition at line 209 of file flow_graph_opencl_node.h.
209 {
210 const std::string space = " ";
211
212 return (space +
extensions() + space).find( space + ext + space ) != std::string::npos;
213 }
std::string extensions() const
◆ extensions()
std::string tbb::flow::interface11::opencl_device::extensions |
( |
| ) |
const |
|
inline |
◆ info()
template<typename T >
void tbb::flow::interface11::opencl_device::info |
( |
cl_device_info |
i, |
|
|
T & |
t |
|
) |
| const |
|
inline |
◆ linker_available()
cl_bool tbb::flow::interface11::opencl_device::linker_available |
( |
| ) |
const |
|
inline |
◆ major_version()
int tbb::flow::interface11::opencl_device::major_version |
( |
| ) |
const |
|
inline |
Definition at line 157 of file flow_graph_opencl_node.h.
157 {
158 int major;
159 std::sscanf(
version().c_str(),
"OpenCL %d", &major );
160 return major;
161 }
std::string version() const
◆ max_work_group_size()
size_t tbb::flow::interface11::opencl_device::max_work_group_size |
( |
| ) |
const |
|
inline |
◆ max_work_item_sizes()
std::array< size_t, 3 > tbb::flow::interface11::opencl_device::max_work_item_sizes |
( |
| ) |
const |
|
inline |
◆ minor_version()
int tbb::flow::interface11::opencl_device::minor_version |
( |
| ) |
const |
|
inline |
Definition at line 162 of file flow_graph_opencl_node.h.
162 {
163 int major, minor;
164 std::sscanf(
version().c_str(),
"OpenCL %d.%d", &major, &minor );
165 return minor;
166 }
◆ name()
std::string tbb::flow::interface11::opencl_device::name |
( |
| ) |
const |
|
inline |
◆ out_of_order_exec_mode_on_device_present()
bool tbb::flow::interface11::opencl_device::out_of_order_exec_mode_on_device_present |
( |
| ) |
const |
|
inline |
Definition at line 175 of file flow_graph_opencl_node.h.
175 {
176#if CL_VERSION_2_0
178 return (device_info<cl_command_queue_properties>(
my_cl_device_id, CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES ) & CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE) != 0;
179 else
180#endif
181 return false;
182 }
int major_version() const
◆ out_of_order_exec_mode_on_host_present()
bool tbb::flow::interface11::opencl_device::out_of_order_exec_mode_on_host_present |
( |
| ) |
const |
|
inline |
Definition at line 167 of file flow_graph_opencl_node.h.
167 {
168#if CL_VERSION_2_0
170 return (device_info<cl_command_queue_properties>(
my_cl_device_id, CL_DEVICE_QUEUE_ON_HOST_PROPERTIES ) & CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE) != 0;
171 else
172#endif
173 return (device_info<cl_command_queue_properties>(
my_cl_device_id, CL_DEVICE_QUEUE_PROPERTIES ) & CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE) != 0;
174 }
◆ platform_extensions()
std::string tbb::flow::interface11::opencl_device::platform_extensions |
( |
| ) |
const |
|
inline |
Definition at line 145 of file flow_graph_opencl_node.h.
145 {
147 }
std::string platform_info< std::string >(cl_platform_id p, cl_platform_info i)
cl_platform_id platform_id() const
◆ platform_id()
cl_platform_id tbb::flow::interface11::opencl_device::platform_id |
( |
| ) |
const |
|
inline |
◆ platform_name()
std::string tbb::flow::interface11::opencl_device::platform_name |
( |
| ) |
const |
|
inline |
◆ platform_profile()
std::string tbb::flow::interface11::opencl_device::platform_profile |
( |
| ) |
const |
|
inline |
◆ platform_vendor()
std::string tbb::flow::interface11::opencl_device::platform_vendor |
( |
| ) |
const |
|
inline |
◆ platform_version()
std::string tbb::flow::interface11::opencl_device::platform_version |
( |
| ) |
const |
|
inline |
◆ set_command_queue()
void tbb::flow::interface11::opencl_device::set_command_queue |
( |
cl_command_queue |
cmd_queue | ) |
|
|
inline |
◆ type()
cl_device_type tbb::flow::interface11::opencl_device::type |
( |
| ) |
const |
|
inline |
◆ vendor()
std::string tbb::flow::interface11::opencl_device::vendor |
( |
| ) |
const |
|
inline |
◆ version()
std::string tbb::flow::interface11::opencl_device::version |
( |
| ) |
const |
|
inline |
◆ opencl_factory
template<typename DeviceFilter >
◆ opencl_memory
template<typename Factory >
◆ opencl_program
template<typename Factory >
◆ operator==
◆ my_cl_command_queue
cl_command_queue tbb::flow::interface11::opencl_device::my_cl_command_queue |
|
private |
◆ my_cl_device_id
cl_device_id tbb::flow::interface11::opencl_device::my_cl_device_id |
|
private |
◆ my_device_id
The documentation for this class was generated from the following file: