CUTLASS: cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round > Class Template Reference

| CUTLASS CUDA Templates for Linear Algebra Subroutines and Solvers

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round > Class Template Reference

`#include <linear_combination_relu.h>`

## Classes
struct | Params
| Host-constructable parameters structure. More...

## Public Types
using | ElementOutput = ElementOutput_
using | ElementAccumulator = int
using | ElementCompute = float
using | FragmentOutput = Array< ElementOutput, kCount >
using | FragmentAccumulator = Array< ElementAccumulator, kCount >
using | ComputeFragment = Array< ElementCompute, kCount >

## Public Member Functions
CUTLASS_HOST_DEVICE | LinearCombinationRelu (Params const &params)
| Constructs the function object, possibly loading from pointers in host memory. More...
CUTLASS_HOST_DEVICE bool | is_source_needed () const
| Returns true if source is needed. More...
CUTLASS_HOST_DEVICE void | set_k_partition (int k_partition)
| Functionally required for serial reduction in the epilogue. More...
CUTLASS_HOST_DEVICE FragmentOutput | operator() (FragmentAccumulator const &accumulator, FragmentOutput const &source, ElementCompute uniform=ElementCompute(0)) const
| Computes linear scaling: D = alpha * accumulator + beta * source. More...

## Static Public Attributes
static int const | kCount = Count
static FloatRoundStyle const | kRound = Round

## Detailed Description

### template<typename ElementOutput_, int Count, FloatRoundStyle Round>
class cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >

Applies a linear combination operator to an array of elements then clamps the output before converting to the output element type.

D = alpha * accumulator + beta * source + uniform

## Member Typedef Documentation

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

using cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::ComputeFragment = Array<ElementCompute, kCount>

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

using cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::ElementAccumulator = int

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

using cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::ElementCompute = float

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

using cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::ElementOutput = ElementOutput_

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

using cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::FragmentAccumulator = Array<ElementAccumulator, kCount>

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

using cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::FragmentOutput = Array<ElementOutput, kCount>

## Constructor & Destructor Documentation

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

CUTLASS_HOST_DEVICE cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::LinearCombinationRelu | ( | Params const & | params | ) |
| inline

## Member Function Documentation

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

CUTLASS_HOST_DEVICE bool cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::is_source_needed | ( |  | ) | const
| inline

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

CUTLASS_HOST_DEVICE FragmentOutput cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::operator() | ( | FragmentAccumulator const & | accumulator,
|  | FragmentOutput const & | source,
|  | ElementCompute | uniform = `ElementCompute(0)`
| ) |  | const
| inline

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

CUTLASS_HOST_DEVICE void cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::set_k_partition | ( | int | k_partition | ) |
| inline

## Member Data Documentation

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

int const cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::kCount = Count
| static

template<typename ElementOutput_ , int Count, FloatRoundStyle Round>

FloatRoundStyle const cutlass::epilogue::thread::LinearCombinationRelu< ElementOutput_, Count, int, float, Round >::kRound = Round
| static

The documentation for this class was generated from the following file:

- linear_combination_relu.h