TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize > Struct Template Reference

TensorDescriptor&lt; Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize &gt; Struct Template Reference#

Composable Kernel: ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize > Struct Template Reference
ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize > Struct Template Reference

#include <tensor_descriptor.hpp>

Public Types

using VisibleIndex = MultiIndex<ndim_visible_>
using HiddenIndex = MultiIndex<ndim_hidden_>
using Coordinate = TensorCoordinate<ndim_hidden_, VisibleDimensionIds>
using ElementSize = remove_cv_t<decltype(InitializeElementSize(Transforms{}))>

Public Member Functions

__host__ __device__ constexpr TensorDescriptor ()
__host__ __device__ constexpr TensorDescriptor (const Transforms &transforms, ElementSpaceSize element_space_size)
template<index_t IDim>
__host__ __device__ constexpr auto GetLength (Number< IDim >) const
__host__ __device__ constexpr auto GetLengths () const
__host__ __device__ constexpr auto GetElementSize () const
__host__ __device__ constexpr auto GetElementSpaceSize () const
template<typename Idx>
__host__ __device__ constexpr index_t CalculateOffset (const Idx &idx) const
__host__ __device__ constexpr const auto & GetTransforms () const
__host__ __device__ void Print () const

Static Public Member Functions

__host__ static __device__ constexpr index_t GetNumOfTransform ()
__host__ static __device__ constexpr index_t GetNumOfVisibleDimension ()
__host__ static __device__ constexpr index_t GetNumOfHiddenDimension ()
__host__ static __device__ constexpr auto InitializeElementSize (const Transforms &transforms)
template<index_t IDim>
__host__ static __device__ constexpr auto GetTransformAndItsUpperDimension (Number< IDim >)
__host__ static __device__ constexpr index_t GetNumOfDimension ()
__host__ static __device__ constexpr auto GetLowerDimensionIdss ()
__host__ static __device__ constexpr auto GetUpperDimensionIdss ()
__host__ static __device__ constexpr auto GetVisibleDimensionIds ()
__host__ static __device__ constexpr bool IsKnownAtCompileTime ()

Public Attributes

Transforms transforms_
ElementSize element_size_
ElementSpaceSize element_space_size_

Static Public Attributes

static constexpr index_t ntransform_ = GetNumOfTransform()
static constexpr index_t ndim_visible_ = GetNumOfVisibleDimension()
static constexpr index_t ndim_hidden_ = GetNumOfHiddenDimension()

Member Typedef Documentation

◆ Coordinate

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
using ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::Coordinate = TensorCoordinate<ndim_hidden_, VisibleDimensionIds>

◆ ElementSize

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
using ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::ElementSize = remove_cv_t<decltype(InitializeElementSize(Transforms{}))>

◆ HiddenIndex

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
using ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::HiddenIndex = MultiIndex<ndim_hidden_>

◆ VisibleIndex

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
using ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::VisibleIndex = MultiIndex<ndim_visible_>

Constructor & Destructor Documentation

◆ TensorDescriptor() [1/2]

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ constexpr ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::TensorDescriptor ( )
inlineconstexpr

◆ TensorDescriptor() [2/2]

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ constexpr ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::TensorDescriptor ( const Transforms & transforms,
ElementSpaceSize element_space_size )
inlineconstexpr

Member Function Documentation

◆ CalculateOffset()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
template<typename Idx>
__host__ __device__ constexpr index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::CalculateOffset ( const Idx & idx) const
inlineconstexpr

◆ GetElementSize()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetElementSize ( ) const
inlineconstexpr

◆ GetElementSpaceSize()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetElementSpaceSize ( ) const
inlineconstexpr

◆ GetLength()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
template<index_t IDim>
__host__ __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetLength ( Number< IDim > ) const
inlineconstexpr

◆ GetLengths()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetLengths ( ) const
inlineconstexpr

◆ GetLowerDimensionIdss()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetLowerDimensionIdss ( )
inlinestaticconstexpr

◆ GetNumOfDimension()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetNumOfDimension ( )
inlinestaticconstexpr

◆ GetNumOfHiddenDimension()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetNumOfHiddenDimension ( )
inlinestaticconstexpr

◆ GetNumOfTransform()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetNumOfTransform ( )
inlinestaticconstexpr

◆ GetNumOfVisibleDimension()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetNumOfVisibleDimension ( )
inlinestaticconstexpr

◆ GetTransformAndItsUpperDimension()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
template<index_t IDim>
__host__ static __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetTransformAndItsUpperDimension ( Number< IDim > )
inlinestaticconstexpr

◆ GetTransforms()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ constexpr const auto & ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetTransforms ( ) const
inlineconstexpr

◆ GetUpperDimensionIdss()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetUpperDimensionIdss ( )
inlinestaticconstexpr

◆ GetVisibleDimensionIds()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::GetVisibleDimensionIds ( )
inlinestaticconstexpr

◆ InitializeElementSize()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr auto ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::InitializeElementSize ( const Transforms & transforms)
inlinestaticconstexpr

◆ IsKnownAtCompileTime()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ static __device__ constexpr bool ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::IsKnownAtCompileTime ( )
inlinestaticconstexpr

◆ Print()

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
__host__ __device__ void ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::Print ( ) const
inline

Member Data Documentation

◆ element_size_

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
ElementSize ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::element_size_

◆ element_space_size_

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
ElementSpaceSize ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::element_space_size_

◆ ndim_hidden_

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::ndim_hidden_ = GetNumOfHiddenDimension()
staticconstexpr

◆ ndim_visible_

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::ndim_visible_ = GetNumOfVisibleDimension()
staticconstexpr

◆ ntransform_

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
index_t ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::ntransform_ = GetNumOfTransform()
staticconstexpr

◆ transforms_

template<typename Transforms, typename LowerDimensionIdss, typename UpperDimensionIdss, typename VisibleDimensionIds, typename ElementSpaceSize>
Transforms ck::TensorDescriptor< Transforms, LowerDimensionIdss, UpperDimensionIdss, VisibleDimensionIds, ElementSpaceSize >::transforms_

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