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_ >:
cutlass::gemm::LinearScaling< 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: