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
execute_elementwise.hpp File Reference

Deals with the execution of unary and binary element-wise operations. More...

Go to the source code of this file.

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::scheduler
 Contains the scheduling functionality which allows for dynamic kernel generation as well as the fusion of multiple statements into a single kernel.
 
 viennacl::scheduler::detail
 Implementation details for the scheduler.
 

Macros

#define VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP(OPNAME, NumericT, OPTAG)
 
#define VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP(OPNAME, NumericT, OPTAG)
 

Functions

void viennacl::scheduler::detail::element_op (lhs_rhs_element result, lhs_rhs_element const &x, operation_node_type op_type)
 
void viennacl::scheduler::detail::element_op (lhs_rhs_element result, lhs_rhs_element const &x, lhs_rhs_element const &y, operation_node_type op_type)
 
void viennacl::scheduler::execute_element_composite (statement const &s, statement_node const &root_node)
 Deals with x = RHS where RHS is a vector expression. More...
 

Detailed Description

Deals with the execution of unary and binary element-wise operations.

Definition in file execute_elementwise.hpp.

Macro Definition Documentation

#define VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP (   OPNAME,
  NumericT,
  OPTAG 
)
Value:
case OPNAME: viennacl::linalg::element_op(*result.vector_##NumericT, \
viennacl::vector_expression<const vector_base<NumericT>, const vector_base<NumericT>, \
op_element_unary<OPTAG> >(*x.vector_##NumericT, *x.vector_##NumericT)); break;
An expression template class that represents a binary operation that yields a vector.
Definition: forwards.h:239
void element_op(matrix_base< T > &A, matrix_expression< const matrix_base< T >, const matrix_base< T >, OP > const &proxy)
Implementation of the element-wise operation A = B .* C and A = B ./ C for matrices (using MATLAB syn...
float NumericT
Definition: bisect.cpp:40
#define VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP (   OPNAME,
  NumericT,
  OPTAG 
)
Value:
case OPNAME: viennacl::linalg::element_op(*result.matrix_##NumericT, \
viennacl::matrix_expression<const matrix_base<NumericT>, const matrix_base<NumericT>, \
op_element_unary<OPTAG> >(*x.matrix_##NumericT, *x.matrix_##NumericT)); break;
Expression template class for representing a tree of expressions which ultimately result in a matrix...
Definition: forwards.h:341
void element_op(matrix_base< T > &A, matrix_expression< const matrix_base< T >, const matrix_base< T >, OP > const &proxy)
Implementation of the element-wise operation A = B .* C and A = B ./ C for matrices (using MATLAB syn...
float NumericT
Definition: bisect.cpp:40