Back to Cutlass

CUTLASS: cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round > Class Template Reference

docs/classcutlass_1_1epilogue_1_1thread_1_1Convert.html

4.4.211.9 KB
Original Source

| | CUTLASS

CUDA Templates for Linear Algebra Subroutines and Solvers |

Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members

cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round > Class Template Reference

#include <conversion_op.h>

|

Classes

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

|

Public Types

| | using | ElementOutput = ElementOutput_ | | | | using | ElementAccumulator = ElementAccumulator_ | | | | using | ElementCompute = ElementAccumulator_ | | | | using | FragmentOutput = Array< ElementOutput, kCount > | | | | using | FragmentAccumulator = Array< ElementAccumulator, kCount > | | | | using | ComputeFragment = FragmentAccumulator | | |

|

Public Member Functions

| | CUTLASS_HOST_DEVICE | Convert (Params const &params=Params()) | | | Constructs the function object, possibly loading from pointers in host memory. More...
| | | | CUTLASS_HOST_DEVICE constexpr bool | is_source_needed () const | | | Returns true if source is needed based on state of runtime arguments. More...
| | | | CUTLASS_HOST_DEVICE constexpr bool | is_source_ever_needed () const | | | | 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, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest> class cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >

Converts the result without other operations

Member Typedef Documentation

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

| using cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::ComputeFragment = FragmentAccumulator |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

| using cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::ElementAccumulator = ElementAccumulator_ |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

| using cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::ElementCompute = ElementAccumulator_ |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

| using cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::ElementOutput = ElementOutput_ |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

| using cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::FragmentAccumulator = Array<ElementAccumulator, kCount> |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

| using cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::FragmentOutput = Array<ElementOutput, kCount> |

Constructor & Destructor Documentation

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

|

| CUTLASS_HOST_DEVICE cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::Convert | ( | Params const & | params = Params() | ) | |

| inline |

Member Function Documentation

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

|

| CUTLASS_HOST_DEVICE constexpr bool cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::is_source_ever_needed | ( | | ) | const |

| inline |

Constexpr function to enable the compiler to optimize away the source loading if it is never needed.

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

|

| CUTLASS_HOST_DEVICE constexpr bool cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::is_source_needed | ( | | ) | const |

| inline |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

|

| CUTLASS_HOST_DEVICE FragmentOutput cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::operator() | ( | FragmentAccumulator const & | accumulator, | | | | FragmentOutput const & | source, | | | | ElementCompute | uniform = ElementCompute(0) | | | ) | | const |

| inline |

Member Data Documentation

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

|

| int const cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::kCount = Count |

| static |

template<typename ElementOutput_ , int Count, typename ElementAccumulator_ = ElementOutput_, FloatRoundStyle Round = FloatRoundStyle::round_to_nearest>

|

| FloatRoundStyle const cutlass::epilogue::thread::Convert< ElementOutput_, Count, ElementAccumulator_, Round >::kRound = Round |

| static |


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


Generated by 1.8.11