OpenCL kernel generation template for scalar reduction operations such as s = norm_2(x).
More...
|
vcl_size_t | lmem_used (vcl_size_t scalartype_size) const |
|
void | init_temporaries (statements_type const &statements) const |
|
void | set_size_argument (viennacl::scheduler::statement const &s, viennacl::scheduler::statement_node const &, unsigned int &n_arg, viennacl::ocl::kernel &k) const |
|
| scalar_reduction (unsigned int vectorization, unsigned int local_size, unsigned int num_groups, unsigned int decomposition) |
| The user constructor. More...
|
|
std::string | csv_representation () const |
| csv representation of an operation More...
|
|
unsigned int | num_groups () const |
|
unsigned int | decomposition () const |
|
void | configure_range_enqueue_arguments (vcl_size_t kernel_id, statements_type const &statements, viennacl::ocl::kernel &k, unsigned int &n_arg) const |
| Configures the range and enqueues the arguments associated with the profile. More...
|
|
void | kernel_arguments (statements_type const &statements, std::string &arguments_string) const |
|
| profile_base (unsigned int vectorization, vcl_size_t local_size_1, vcl_size_t local_size_2, vcl_size_t num_kernels) |
| The constructor. More...
|
|
virtual | ~profile_base () |
| The destructor. More...
|
|
unsigned int | vector_size () const |
| Get the vector size of the kernel. More...
|
|
bool | is_slow (viennacl::ocl::device const &dev) const |
| returns whether or not the profile is likely to be slow on a particular device More...
|
|
bool | is_invalid (viennacl::ocl::device const &dev, vcl_size_t scalartype_size) const |
| returns whether or not the profile leads to undefined behavior on particular device More...
|
|
vcl_size_t | num_kernels () const |
| Returns the number of kernels needed by this operation. More...
|
|
virtual void | operator() (utils::kernel_generation_stream &stream, vcl_size_t device_offset, statements_type const &statements) const |
| Generates the code associated with this profile onto the provided stream Redirects to the virtual core() method. More...
|
|
OpenCL kernel generation template for scalar reduction operations such as s = norm_2(x).