Cutlass CUDA Templates for Linear Algebra Subroutines and Solvers

Classes | Public Types | Public Member Functions | List of all members
cutlass::gemm::LinearScalingDevicePtr< Scalar_, FragmentMultiplyAdd_ > Struct Template Reference

`#include <linear_scaling_device_ptr.h>`

Inheritance diagram for cutlass::gemm::LinearScalingDevicePtr< Scalar_, FragmentMultiplyAdd_ >:

## Classes
class | Params
| The parameters. More...

## Public Types
typedef LinearScaling< Scalar_, FragmentMultiplyAdd_ > | Base
| Linear Scaling class used. More...
typedef Base::Scalar | Scalar
Public Types inherited from cutlass::gemm::LinearScaling< Scalar_, FragmentMultiplyAdd_ >
typedef Scalar_ | Scalar
typedef FragmentMultiplyAdd_::ScalarAccum | ScalarAccum
typedef FragmentMultiplyAdd_ | FragmentMultiplyAdd

## Public Member Functions
CUTLASS_HOST_DEVICE | LinearScalingDevicePtr (Params const &_params)
| Ctor. More...
Public Member Functions inherited from cutlass::gemm::LinearScaling< Scalar_, FragmentMultiplyAdd_ >
CUTLASS_DEVICE | LinearScaling ()
| Ctor. More...
CUTLASS_DEVICE | LinearScaling (Params const &_params)
| Ctor. More...
CUTLASS_DEVICE bool | source_required () const
template<typename FragmentA_ , typename FragmentB_ >
CUTLASS_DEVICE void | evaluate (FragmentA_ const &accum, FragmentB_ &output)
| Evaluate the functor. More...
template<typename ScalarAccum , typename ScalarOutput , int size>
CUTLASS_DEVICE void | evaluate (ScalarAccum const *accum, ScalarOutput *output)
| Evaluate the functor, without using fragment in the API. More...
template<typename FragmentA_ , typename FragmentB_ >
CUTLASS_DEVICE void | evaluate (FragmentA_ const &accum, FragmentB_ const &old, FragmentB_ &output)
| Evaluate the functor. More...
template<typename ScalarAccum , typename ScalarOutput , int size>
CUTLASS_DEVICE void | evaluate (ScalarAccum const *accum, ScalarOutput const *old, ScalarOutput *output)
| Evaluate the functor, without using fragment in the API. More...

## Additional Inherited Members
Public Attributes inherited from cutlass::gemm::LinearScaling< Scalar_, FragmentMultiplyAdd_ >
Params | params

## Detailed Description

### template<typename Scalar_, typename FragmentMultiplyAdd_ = FragmentMultiplyAdd<Scalar_, Scalar_>>
struct cutlass::gemm::LinearScalingDevicePtr< Scalar_, FragmentMultiplyAdd_ >

Functor to compute linear combination of fragments. This is intended to support passing scalars either by value from the host or by reference to device-side scalar elements. This is inspired by cuBLAS's device pointer mode.

## Member Typedef Documentation

## ◆ Base

template<typename Scalar_ , typename FragmentMultiplyAdd_ = FragmentMultiplyAdd<Scalar_, Scalar_>>

typedef LinearScaling<Scalar_, FragmentMultiplyAdd_> cutlass::gemm::LinearScalingDevicePtr< Scalar_, FragmentMultiplyAdd_ >::Base

## ◆ Scalar

template<typename Scalar_ , typename FragmentMultiplyAdd_ = FragmentMultiplyAdd<Scalar_, Scalar_>>

typedef Base::Scalar cutlass::gemm::LinearScalingDevicePtr< Scalar_, FragmentMultiplyAdd_ >::Scalar

## Constructor & Destructor Documentation

## ◆ LinearScalingDevicePtr()

template<typename Scalar_ , typename FragmentMultiplyAdd_ = FragmentMultiplyAdd<Scalar_, Scalar_>>

CUTLASS_HOST_DEVICE cutlass::gemm::LinearScalingDevicePtr< Scalar_, FragmentMultiplyAdd_ >::LinearScalingDevicePtr | ( | Params const & | _params | ) |
| inline

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

- linear_scaling_device_ptr.h