OpenCL kernel generation class for matrix expressions of AXPY type, i.e. A = alpha * B + beta * C, where the number of summands can in principle be arbitrarily large.
More...
|
| matrix_saxpy (unsigned int v, vcl_size_t gs1, vcl_size_t gs2, vcl_size_t ng1, vcl_size_t ng2, unsigned int d) |
|
std::string | csv_representation () const |
| csv representation of an operation More...
|
|
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 &, 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 class for matrix expressions of AXPY type, i.e. A = alpha * B + beta * C, where the number of summands can in principle be arbitrarily large.