StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference

StaticTensor&lt; AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type &gt; Struct Template Reference#

Composable Kernel: ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference
ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference

#include <static_tensor.hpp>

Public Member Functions

__host__ constexpr __device__ StaticTensor ()
 
__host__ constexpr __device__ StaticTensor (T invalid_element_value)
 
template<typename Idx , typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ constexpr __device__ const T & operator[] (Idx) const
 
template<typename Idx , typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ constexpr __device__ T & operator() (Idx)
 

Public Attributes

StaticBuffer< AddressSpace, T, element_space_size_, true > data_
 
const T invalid_element_scalar_value_
 
ignored_element_scalar_
 

Static Public Attributes

static constexpr auto desc_ = TensorDesc{}
 
static constexpr index_t ndim_ = TensorDesc::GetNumOfDimension()
 
static constexpr index_t element_space_size_ = desc_.GetElementSpaceSize()
 
static constexpr T zero_scalar_value_ = T{0}
 

Constructor & Destructor Documentation

◆ StaticTensor() [1/2]

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
__host__ constexpr __device__ ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::StaticTensor ( )
inlineconstexpr

◆ StaticTensor() [2/2]

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
__host__ constexpr __device__ ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::StaticTensor ( invalid_element_value)
inlineconstexpr

Member Function Documentation

◆ operator()()

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename Idx , typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ constexpr __device__ T& ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::operator() ( Idx  )
inlineconstexpr

◆ operator[]()

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename Idx , typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ constexpr __device__ const T& ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::operator[] ( Idx  ) const
inlineconstexpr

Member Data Documentation

◆ data_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
StaticBuffer<AddressSpace, T, element_space_size_, true> ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::data_

◆ desc_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
constexpr auto ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::desc_ = TensorDesc{}
staticconstexpr

◆ element_space_size_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
constexpr index_t ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::element_space_size_ = desc_.GetElementSpaceSize()
staticconstexpr

◆ ignored_element_scalar_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
T ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::ignored_element_scalar_

◆ invalid_element_scalar_value_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
const T ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::invalid_element_scalar_value_

◆ ndim_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
constexpr index_t ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::ndim_ = TensorDesc::GetNumOfDimension()
staticconstexpr

◆ zero_scalar_value_

template<AddressSpaceEnum AddressSpace, typename T , typename TensorDesc , bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
constexpr T ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::zero_scalar_value_ = T{0}
staticconstexpr

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