StaticTensorTupleOfVectorBuffer< AddressSpace, S, ScalarPerVector, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference#
Public Types |
Public Member Functions |
Public Attributes |
Static Public Attributes |
List of all members
ck::StaticTensorTupleOfVectorBuffer< AddressSpace, S, ScalarPerVector, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference
#include <static_tensor.hpp>
Public Types | |
| using | V = vector_type<S, ScalarPerVector> |
Public Member Functions | |
| __host__ __device__ constexpr | StaticTensorTupleOfVectorBuffer () |
| __host__ __device__ constexpr | StaticTensorTupleOfVectorBuffer (S invalid_element_value) |
| template<typename Idx, typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false> | |
| __host__ __device__ constexpr const S & | operator[] (Idx) const |
| template<typename Idx, typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false> | |
| __host__ __device__ constexpr S & | operator() (Idx) |
| template<typename X, typename Idx, typename enable_if<(has_same_scalar_type< S, X >::value||!is_native_type< S >()) &&is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false> | |
| __host__ __device__ constexpr X | GetAsType (Idx) const |
| template<typename X, typename Idx, typename enable_if<(has_same_scalar_type< S, X >::value||!is_native_type< S >()) &&is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false> | |
| __host__ __device__ constexpr void | SetAsType (Idx, X x) |
| template<typename Idx> | |
| __host__ __device__ constexpr const V & | GetVectorTypeReference (Idx) const |
| template<typename Idx> | |
| __host__ __device__ constexpr V & | GetVectorTypeReference (Idx) |
Public Attributes | |
| StaticBufferTupleOfVector< AddressSpace, S, num_of_vector_, ScalarPerVector, true > | data_ |
| const S | invalid_element_scalar_value_ = S{0} |
| S | 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 index_t | num_of_vector_ |
| static constexpr S | zero_scalar_value_ = S{0} |
Member Typedef Documentation
◆ V
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
| using ck::StaticTensorTupleOfVectorBuffer< AddressSpace, S, ScalarPerVector, TensorDesc, InvalidElementUseNumericalZeroValue, type >::V = vector_type<S, ScalarPerVector> |
Constructor & Destructor Documentation
◆ StaticTensorTupleOfVectorBuffer() [1/2]
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
inlineconstexpr |
◆ StaticTensorTupleOfVectorBuffer() [2/2]
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
inlineconstexpr |
Member Function Documentation
◆ GetAsType()
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename X, typename Idx, typename enable_if<(has_same_scalar_type< S, X >::value||!is_native_type< S >()) &&is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
|
inlineconstexpr |
◆ GetVectorTypeReference() [1/2]
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename Idx>
|
inlineconstexpr |
◆ GetVectorTypeReference() [2/2]
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename Idx>
|
inlineconstexpr |
◆ operator()()
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, 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>
|
inlineconstexpr |
◆ operator[]()
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, 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>
|
inlineconstexpr |
◆ SetAsType()
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename X, typename Idx, typename enable_if<(has_same_scalar_type< S, X >::value||!is_native_type< S >()) &&is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
|
inlineconstexpr |
Member Data Documentation
◆ data_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
| StaticBufferTupleOfVector<AddressSpace, S, num_of_vector_, ScalarPerVector, true> ck::StaticTensorTupleOfVectorBuffer< AddressSpace, S, ScalarPerVector, TensorDesc, InvalidElementUseNumericalZeroValue, type >::data_ |
◆ desc_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
staticconstexpr |
◆ element_space_size_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
staticconstexpr |
◆ ignored_element_scalar_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
| S ck::StaticTensorTupleOfVectorBuffer< AddressSpace, S, ScalarPerVector, TensorDesc, InvalidElementUseNumericalZeroValue, type >::ignored_element_scalar_ |
◆ invalid_element_scalar_value_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
| const S ck::StaticTensorTupleOfVectorBuffer< AddressSpace, S, ScalarPerVector, TensorDesc, InvalidElementUseNumericalZeroValue, type >::invalid_element_scalar_value_ = S{0} |
◆ ndim_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
staticconstexpr |
◆ num_of_vector_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
staticconstexpr |
Initial value:
=
math::integer_divide_ceil(element_space_size_, ScalarPerVector)
__host__ __device__ constexpr auto integer_divide_ceil(X x, Y y)
Definition utility/math.hpp:72
static constexpr index_t element_space_size_
Definition static_tensor.hpp:96
◆ zero_scalar_value_
template<AddressSpaceEnum AddressSpace, typename S, index_t ScalarPerVector, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
|
staticconstexpr |
The documentation for this struct was generated from the following file: