ViennaCL - The Vienna Computing Library
1.5.0
|
Runtime generation of OpenCL kernels for matrix operations. More...
#include "viennacl/tools/tools.hpp"
#include "viennacl/ocl/kernel.hpp"
#include "viennacl/ocl/platform.hpp"
#include "viennacl/ocl/utils.hpp"
Go to the source code of this file.
Data Structures | |
struct | ambm_config |
Configuration struct for generating OpenCL kernels for linear combinations of matrices. More... | |
struct | matrix< NumericT, F > |
Main kernel class for generating OpenCL kernels for operations on/with dense matrix objects of type viennacl::matrix<>. More... | |
Namespaces | |
namespace | viennacl |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
namespace | viennacl::linalg |
Provides all linear algebra operations which are not covered by operator overloads. | |
namespace | viennacl::linalg::opencl |
Holds all routines providing OpenCL linear algebra operations. | |
namespace | viennacl::linalg::opencl::kernels |
Contains the OpenCL kernel generation functions for a predefined set of functionality. | |
namespace | viennacl::linalg::opencl::kernels::detail |
Implementation details for the predefined OpenCL kernels. | |
Enumerations | |
enum | ambm_scalar_type { VIENNACL_AMBM_NONE = 0, VIENNACL_AMBM_CPU, VIENNACL_AMBM_GPU } |
Enumeration for the scalar type in ambm-like operations. More... | |
Functions | |
template<typename StringType > | |
void | generate_ambm_impl2 (StringType &source, ambm_config const &cfg, bool mult_alpha, bool mult_beta) |
template<typename StringType > | |
void | generate_ambm_impl (StringType &source, std::string const &numeric_string, ambm_config const &cfg) |
template<typename StringType > | |
void | generate_ambm (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_assign_cpu (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_diagonal_assign_cpu (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_element_op (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_fft (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_lu (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_scaled_rank1_update (StringType &source, std::string const &numeric_string, bool is_row_major, bool alpha_on_cpu) |
template<typename StringType > | |
void | generate_trans_vec_mul (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_triangular_substitute_inplace (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_vec_mul (StringType &source, std::string const &numeric_string, bool is_row_major) |
std::string | type_to_string (viennacl::row_major) |
std::string | type_to_string (viennacl::column_major) |
Runtime generation of OpenCL kernels for matrix operations.