CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Namespaces | Functions
host/tensor_elementwise.h File Reference
#include "cutlass/cutlass.h"
#include "cutlass/functional.h"
#include "tensor_foreach.h"
Include dependency graph for host/tensor_elementwise.h:

Go to the source code of this file.

Classes

struct  cutlass::reference::host::detail::TensorFuncBinaryOp< ElementA, LayoutA, ElementB, LayoutB, ElementD, LayoutD, BinaryFunc >
 Helper to apply a binary operator in place. More...
 

Namespaces

 cutlass
 
 cutlass::reference
 
 cutlass::reference::host
 
 cutlass::reference::host::detail
 Defines several helpers.
 

Functions

template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA , typename ElementB , typename LayoutB >
void cutlass::reference::host::TensorAdd (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a, TensorRef< ElementB, LayoutB > b)
 Adds two tensors and stores in the destination tensor: d = a + b. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA >
void cutlass::reference::host::TensorAdd (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a)
 Adds a tensor in place: d = d .+ a. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA , typename ElementB , typename LayoutB >
void cutlass::reference::host::TensorSub (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a, TensorRef< ElementB, LayoutB > b)
 Subtracts two tensors and stores in the destination tensor: d = a - b. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA , typename ElementB , typename LayoutB >
void cutlass::reference::host::TensorSub (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a)
 Subtracts two tensors in place: d = d .- a. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA , typename ElementB , typename LayoutB >
void cutlass::reference::host::TensorMul (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a, TensorRef< ElementB, LayoutB > b)
 Multiplies two tensors and stores in the destination tensor: d = a .* b. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA >
void cutlass::reference::host::TensorMul (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a)
 Multiplies tensors in place: d = d .* a. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA , typename ElementB , typename LayoutB >
void cutlass::reference::host::TensorDiv (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a, TensorRef< ElementB, LayoutB > b)
 Divides two tensors and stores in the destination tensor: d = a ./ b. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA >
void cutlass::reference::host::TensorDiv (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a)
 Divides tensors in place: d = d ./ a. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA , typename ElementB , typename LayoutB >
void cutlass::reference::host::TensorModulus (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a, TensorRef< ElementB, LayoutB > b)
 Divides two tensors and stores in the destination tensor: d = a ./ b. More...
 
template<typename ElementD , typename LayoutD , typename ElementA , typename LayoutA >
void cutlass::reference::host::TensorModulus (TensorView< ElementD, LayoutD > d, TensorRef< ElementA, LayoutA > a)
 Divides tensors in place: d = d ./ a. More...