SpaceFillingCurve< TensorLengths, DimAccessOrder, ScalarsPerAccess, SnakeCurved > Struct Template Reference#
ck::SpaceFillingCurve< TensorLengths, DimAccessOrder, ScalarsPerAccess, SnakeCurved > Struct Template Reference
  #include <tensor_space_filling_curve.hpp>
Public Types | |
| using | Index = MultiIndex< nDim > | 
Static Public Member Functions | |
| __host__ static constexpr __device__ index_t | GetNumOfAccess () | 
| template<index_t AccessIdx1dBegin, index_t AccessIdx1dEnd> | |
| static __device__ constexpr __host__ auto | GetStepBetween (Number< AccessIdx1dBegin >, Number< AccessIdx1dEnd >) | 
| template<index_t AccessIdx1d> | |
| static __device__ constexpr __host__ auto | GetForwardStep (Number< AccessIdx1d >) | 
| template<index_t AccessIdx1d> | |
| static __device__ constexpr __host__ auto | GetBackwardStep (Number< AccessIdx1d >) | 
| template<index_t AccessIdx1d> | |
| static __device__ constexpr __host__ Index | GetIndex (Number< AccessIdx1d >) | 
| template<index_t AccessIdx1d> | |
| static __device__ constexpr __host__ auto | GetIndexTupleOfNumber (Number< AccessIdx1d >) | 
Static Public Attributes | |
| static constexpr index_t | nDim = TensorLengths::Size() | 
| static constexpr index_t | ScalarPerVector | 
| static constexpr auto | access_lengths = TensorLengths{} / ScalarsPerAccess{} | 
| static constexpr auto | dim_access_order = DimAccessOrder{} | 
| static constexpr auto | ordered_access_lengths | 
| static constexpr auto | to_index_adaptor | 
| static constexpr auto | I0 = Number<0>{} | 
| static constexpr auto | I1 = Number<1>{} | 
Member Typedef Documentation
◆ Index
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      | using ck::SpaceFillingCurve< TensorLengths, DimAccessOrder, ScalarsPerAccess, SnakeCurved >::Index = MultiIndex<nDim> | 
Member Function Documentation
◆ GetBackwardStep()
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
template<index_t AccessIdx1d> 
      
  | 
  inlinestaticconstexpr | 
◆ GetForwardStep()
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
template<index_t AccessIdx1d> 
      
  | 
  inlinestaticconstexpr | 
◆ GetIndex()
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
template<index_t AccessIdx1d> 
      
  | 
  inlinestaticconstexpr | 
◆ GetIndexTupleOfNumber()
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
template<index_t AccessIdx1d> 
      
  | 
  inlinestaticconstexpr | 
◆ GetNumOfAccess()
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  inlinestaticconstexpr | 
◆ GetStepBetween()
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
template<index_t AccessIdx1dBegin, index_t AccessIdx1dEnd> 
      
  | 
  inlinestaticconstexpr | 
Member Data Documentation
◆ access_lengths
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
◆ dim_access_order
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
◆ I0
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
◆ I1
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
◆ nDim
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
◆ ordered_access_lengths
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
Initial value:
=
__host__ constexpr __device__ auto container_reorder_given_new2old(const Array< TData, NSize > &old_array, Sequence< IRs... >)
Definition: container_helper.hpp:43
static constexpr auto access_lengths
Definition: tensor_space_filling_curve.hpp:28
static constexpr auto dim_access_order
Definition: tensor_space_filling_curve.hpp:29
◆ ScalarPerVector
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
Initial value:
=
        reduce_on_sequence(ScalarsPerAccess{}, math::multiplies{}, Number<1>{})
__host__ __device__ multiplies() -> multiplies< void, void >
FIXME: create macro to replace 'host device' and nothing more.
__host__ constexpr __device__ index_t reduce_on_sequence(Seq, Reduce f, Number< Init >)
Definition: sequence.hpp:884
◆ to_index_adaptor
template<typename TensorLengths , typename DimAccessOrder , typename ScalarsPerAccess , bool SnakeCurved = true> 
      
  | 
  staticconstexpr | 
Initial value:
        make_tuple(Sequence<0>{}))
__host__ constexpr __device__ auto make_merge_transform(const LowLengths &low_lengths)
Definition: multi_index_transform_helper.hpp:55
__host__ constexpr __device__ auto make_single_stage_tensor_adaptor(const Transforms &transforms, LowerDimensionOldTopIdss, UpperDimensionNewTopIdss)
Definition: tensor_adaptor.hpp:425
static constexpr auto ordered_access_lengths
Definition: tensor_space_filling_curve.hpp:30
typename conditional< kHasContent, type0, type1 >::type type
Definition: sequence.hpp:271
The documentation for this struct was generated from the following file:
- include/ck/tensor_description/tensor_space_filling_curve.hpp