Basic implementation of the OpenCL tuner interface.
More...
#include <CLTuner.h>
Basic implementation of the OpenCL tuner interface.
Definition at line 37 of file CLTuner.h.
CLTuner |
( |
bool |
tune_new_kernels = true | ) |
|
Constructor.
- Parameters
-
[in] | tune_new_kernels | Find the optimal local workgroup size for kernels which are not present in the table ? |
void add_lws_to_table |
( |
const std::string & |
kernel_id, |
|
|
cl::NDRange |
optimal_lws |
|
) |
| |
Manually add a LWS for a kernel.
- Parameters
-
[in] | kernel_id | Unique identifiant of the kernel |
[in] | optimal_lws | Optimal local workgroup size to use for the given kernel |
void import_lws_table |
( |
const std::unordered_map< std::string, cl::NDRange > & |
lws_table | ) |
|
Import LWS table.
- Parameters
-
[in] | lws_table | The unordered_map container to import |
bool kernel_event_is_set |
( |
| ) |
const |
Is the kernel_event set ?
- Returns
- true if the kernel_event is set.
void load_from_file |
( |
const std::string & |
filename | ) |
|
Load the LWS table from file.
- Parameters
-
[in] | filename | Load the LWS table from this file.(Must exist) |
const std::unordered_map<std::string, cl::NDRange>& lws_table |
( |
| ) |
const |
Give read access to the LWS table.
- Returns
- The lws table as unordered_map container
void save_to_file |
( |
const std::string & |
filename | ) |
const |
Save the content of the LWS table to file.
- Parameters
-
[in] | filename | Save the LWS table to this file. (Content will be overwritten) |
void set_cl_kernel_event |
( |
cl_event |
kernel_event | ) |
|
Set the OpenCL kernel event.
- Note
- The interceptor can use this function to store the event associated to the OpenCL kernel
- Parameters
-
[in] | kernel_event | The OpenCL kernel event |
void set_tune_new_kernels |
( |
bool |
tune_new_kernels | ) |
|
Setter for tune_new_kernels option.
- Parameters
-
[in] | tune_new_kernels | Find the optimal local workgroup size for kernels which are not present in the table ? |
void tune_kernel_dynamic |
( |
ICLKernel & |
kernel | ) |
|
|
overridevirtual |
Tune OpenCL kernel dynamically.
- Note
- Tuning requires memory to be available on all kernel tensors and objects in order to be performed
- Parameters
-
Implements ICLTuner.
void tune_kernel_static |
( |
ICLKernel & |
kernel | ) |
|
|
overridevirtual |
Tune OpenCL kernel statically.
- Note
- Tuning is performed using only kernel and tensor metadata, thus can be performed when memory is not available
- Parameters
-
Implements ICLTuner.
bool tune_new_kernels |
( |
| ) |
const |
Tune kernels that are not in the LWS table.
- Returns
- True if tuning of new kernels is enabled.
std::function<decltype(clEnqueueNDRangeKernel)> real_clEnqueueNDRangeKernel |
clEnqueueNDRangeKernel symbol
Definition at line 87 of file CLTuner.h.
The documentation for this class was generated from the following file: