ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::device_specific::utils Namespace Reference

Contains various helper routines for kernel generation. More...

Classes

struct  first_letter_of_type
 
struct  first_letter_of_type< char >
 
struct  first_letter_of_type< double >
 
struct  first_letter_of_type< float >
 
struct  first_letter_of_type< int >
 
struct  first_letter_of_type< long >
 
struct  first_letter_of_type< short >
 
struct  first_letter_of_type< unsigned char >
 
struct  first_letter_of_type< unsigned int >
 
struct  first_letter_of_type< unsigned long >
 
struct  first_letter_of_type< unsigned short >
 
struct  handle_fun
 
struct  internal_size1_fun
 
struct  internal_size2_fun
 
struct  internal_size_fun
 
struct  is_same_type
 
struct  is_same_type< T, T >
 
class  kernel_generation_stream
 
struct  leading_start
 
struct  leading_stride
 
struct  row_major_fun
 
struct  scalartype_size_fun
 
struct  size1_fun
 
struct  size2_fun
 
struct  size_fun
 
struct  start1_fun
 
struct  start2_fun
 
struct  stride1_fun
 
struct  stride2_fun
 
struct  stride_fun
 
struct  type_to_string
 
struct  type_to_string< char >
 
struct  type_to_string< double >
 
struct  type_to_string< float >
 
struct  type_to_string< int >
 
struct  type_to_string< long >
 
struct  type_to_string< short >
 
struct  type_to_string< unsigned char >
 
struct  type_to_string< unsigned int >
 
struct  type_to_string< unsigned long >
 
struct  type_to_string< unsigned short >
 

Functions

std::string opencl_source_to_cuda_source (std::string const &opencl_src)
 
bool is_reduction (scheduler::statement_node const &node)
 
bool is_index_reduction (scheduler::op_element const &op)
 
bool node_leaf (scheduler::op_element const &op)
 
bool elementwise_operator (scheduler::op_element const &op)
 
bool elementwise_function (scheduler::op_element const &op)
 
scheduler::lhs_rhs_elementlhs_rhs_element (scheduler::statement const &st, vcl_size_t idx, leaf_t leaf)
 
unsigned int size_of (scheduler::statement_node_numeric_type type)
 
std::string append_width (std::string const &str, unsigned int width)
 

Detailed Description

Contains various helper routines for kernel generation.

Function Documentation

std::string viennacl::device_specific::utils::append_width ( std::string const &  str,
unsigned int  width 
)
inline

Definition at line 558 of file utils.hpp.

bool viennacl::device_specific::utils::elementwise_function ( scheduler::op_element const &  op)
inline

Definition at line 476 of file utils.hpp.

bool viennacl::device_specific::utils::elementwise_operator ( scheduler::op_element const &  op)
inline

Definition at line 462 of file utils.hpp.

bool viennacl::device_specific::utils::is_index_reduction ( scheduler::op_element const &  op)
inline

Definition at line 370 of file utils.hpp.

bool viennacl::device_specific::utils::is_reduction ( scheduler::statement_node const &  node)
inline

Definition at line 361 of file utils.hpp.

scheduler::lhs_rhs_element& viennacl::device_specific::utils::lhs_rhs_element ( scheduler::statement const &  st,
vcl_size_t  idx,
leaf_t  leaf 
)
inline

Definition at line 525 of file utils.hpp.

bool viennacl::device_specific::utils::node_leaf ( scheduler::op_element const &  op)
inline

Definition at line 443 of file utils.hpp.

std::string viennacl::device_specific::utils::opencl_source_to_cuda_source ( std::string const &  opencl_src)
inline

Definition at line 50 of file utils.hpp.

unsigned int viennacl::device_specific::utils::size_of ( scheduler::statement_node_numeric_type  type)
inline

Definition at line 534 of file utils.hpp.