ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Enumerations | Functions
matrix.hpp File Reference

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

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::linalg
 Provides all linear algebra operations which are not covered by operator overloads.
 
 viennacl::linalg::opencl
 Holds all routines providing OpenCL linear algebra operations.
 
 viennacl::linalg::opencl::kernels
 Contains the OpenCL kernel generation functions for a predefined set of functionality.
 
 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)
 

Detailed Description

Runtime generation of OpenCL kernels for matrix operations.