Freeze< LowerIndex > Struct Template Reference

Freeze&lt; LowerIndex &gt; Struct Template Reference#

Composable Kernel: ck::Freeze< LowerIndex > Struct Template Reference
ck::Freeze< LowerIndex > Struct Template Reference

#include <multi_index_transform.hpp>

Public Member Functions

__host__ constexpr __device__ Freeze ()=default
 
__host__ constexpr __device__ Freeze (const LowerIndex &low_idx)
 
template<typename LowIdx , typename UpIdx >
__host__ constexpr __device__ void CalculateLowerIndex (LowIdx &idx_low, const UpIdx &) const
 
__host__ __device__ void Print () const
 

Static Public Member Functions

__host__ static constexpr __device__ index_t GetNumOfLowerDimension ()
 
__host__ static constexpr __device__ index_t GetNumOfUpperDimension ()
 
__host__ static constexpr __device__ auto GetUpperLengths ()
 
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx , index_t Hack>
__host__ static __device__ void UpdateLowerIndex (LowIdxDiff &idx_diff_low, const UpIdxDiff &, LowIdx &, const UpIdx &, Number< Hack >)
 
__host__ static constexpr __device__ bool IsLinearTransform ()
 
__host__ static constexpr __device__ bool IsValidUpperIndexAlwaysMappedToValidLowerIndex ()
 
template<typename UpIdx >
__host__ static constexpr __device__ bool IsValidUpperIndexMappedToValidLowerIndex (const UpIdx &)
 
__host__ static constexpr __device__ bool IsKnownAtCompileTime ()
 

Public Attributes

LowerIndex low_idx_
 

Constructor & Destructor Documentation

◆ Freeze() [1/2]

template<typename LowerIndex >
__host__ constexpr __device__ ck::Freeze< LowerIndex >::Freeze ( )
constexprdefault

◆ Freeze() [2/2]

template<typename LowerIndex >
__host__ constexpr __device__ ck::Freeze< LowerIndex >::Freeze ( const LowerIndex &  low_idx)
inlineconstexpr

Member Function Documentation

◆ CalculateLowerIndex()

template<typename LowerIndex >
template<typename LowIdx , typename UpIdx >
__host__ constexpr __device__ void ck::Freeze< LowerIndex >::CalculateLowerIndex ( LowIdx &  idx_low,
const UpIdx &   
) const
inlineconstexpr

◆ GetNumOfLowerDimension()

template<typename LowerIndex >
__host__ static constexpr __device__ index_t ck::Freeze< LowerIndex >::GetNumOfLowerDimension ( )
inlinestaticconstexpr

◆ GetNumOfUpperDimension()

template<typename LowerIndex >
__host__ static constexpr __device__ index_t ck::Freeze< LowerIndex >::GetNumOfUpperDimension ( )
inlinestaticconstexpr

◆ GetUpperLengths()

template<typename LowerIndex >
__host__ static constexpr __device__ auto ck::Freeze< LowerIndex >::GetUpperLengths ( )
inlinestaticconstexpr

◆ IsKnownAtCompileTime()

template<typename LowerIndex >
__host__ static constexpr __device__ bool ck::Freeze< LowerIndex >::IsKnownAtCompileTime ( )
inlinestaticconstexpr

◆ IsLinearTransform()

template<typename LowerIndex >
__host__ static constexpr __device__ bool ck::Freeze< LowerIndex >::IsLinearTransform ( )
inlinestaticconstexpr

◆ IsValidUpperIndexAlwaysMappedToValidLowerIndex()

template<typename LowerIndex >
__host__ static constexpr __device__ bool ck::Freeze< LowerIndex >::IsValidUpperIndexAlwaysMappedToValidLowerIndex ( )
inlinestaticconstexpr

◆ IsValidUpperIndexMappedToValidLowerIndex()

template<typename LowerIndex >
template<typename UpIdx >
__host__ static constexpr __device__ bool ck::Freeze< LowerIndex >::IsValidUpperIndexMappedToValidLowerIndex ( const UpIdx &  )
inlinestaticconstexpr

◆ Print()

template<typename LowerIndex >
__host__ __device__ void ck::Freeze< LowerIndex >::Print ( ) const
inline

◆ UpdateLowerIndex()

template<typename LowerIndex >
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx , index_t Hack>
__host__ static __device__ void ck::Freeze< LowerIndex >::UpdateLowerIndex ( LowIdxDiff &  idx_diff_low,
const UpIdxDiff &  ,
LowIdx &  ,
const UpIdx &  ,
Number< Hack >   
)
inlinestatic

Member Data Documentation

◆ low_idx_

template<typename LowerIndex >
LowerIndex ck::Freeze< LowerIndex >::low_idx_

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/tensor_description/multi_index_transform.hpp