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...