ViennaCL - The Vienna Computing Library
1.5.0
|
OpenCL kernel generation template for scalar reduction operations such as s = norm_2(x). More...
#include <scalar_reduction.hpp>
Public Member Functions | |
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. | |
std::string | csv_representation () const |
csv representation of an operation | |
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. | |
void | kernel_arguments (statements_type const &statements, std::string &arguments_string) const |
Static Public Member Functions | |
static std::string | csv_format () |
OpenCL kernel generation template for scalar reduction operations such as s = norm_2(x).
scalar_reduction | ( | unsigned int | vectorization, |
unsigned int | local_size, | ||
unsigned int | num_groups, | ||
unsigned int | decomposition | ||
) | [inline] |
The user constructor.
void configure_range_enqueue_arguments | ( | vcl_size_t | kernel_id, |
statements_type const & | statements, | ||
viennacl::ocl::kernel & | k, | ||
unsigned int & | n_arg | ||
) | const [inline, virtual] |
Configures the range and enqueues the arguments associated with the profile.
Implements profile_base.
static std::string csv_format | ( | ) | [inline, static] |
std::string csv_representation | ( | ) | const [inline, virtual] |
unsigned int decomposition | ( | ) | const [inline] |
void init_temporaries | ( | statements_type const & | statements | ) | const [inline] |
void kernel_arguments | ( | statements_type const & | statements, |
std::string & | arguments_string | ||
) | const [inline, virtual] |
Implements profile_base.
vcl_size_t lmem_used | ( | vcl_size_t | scalartype_size | ) | const [inline, virtual] |
Reimplemented from profile_base.
unsigned int num_groups | ( | ) | const [inline] |
void set_size_argument | ( | viennacl::scheduler::statement const & | s, |
viennacl::scheduler::statement_node const & | , | ||
unsigned int & | n_arg, | ||
viennacl::ocl::kernel & | k | ||
) | const [inline] |