ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> > Struct Template Reference

ComputePtrOffsetOfStridedBatch&lt; NumATensor, NumBTensor, NumDTensor, enable_if_t&lt;(NumATensor &gt; 1||NumBTensor &gt; 1)&gt; &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> > Struct Template Reference
ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> > Struct Template Reference

#include <device_grouped_conv_utils.hpp>

Public Member Functions

 ComputePtrOffsetOfStridedBatch ()=default
 ComputePtrOffsetOfStridedBatch (Array< long_index_t, NumATensor > &BatchStrideAs, Array< long_index_t, NumBTensor > &BatchStrideBs, Array< long_index_t, NumDTensor > &BatchStrideDs, long_index_t BatchStrideE)
__host__ __device__ constexpr auto GetAsPtrOffset (index_t g_idx) const
__host__ __device__ constexpr auto GetBsPtrOffset (index_t g_idx) const
__host__ __device__ constexpr auto GetDsPtrOffset (index_t g_idx) const
__host__ __device__ constexpr long_index_t GetEPtrOffset (index_t g_idx) const
__host__ __device__ constexpr long_index_t GetCPtrOffset (index_t g_idx) const

Public Attributes

Array< long_index_t, NumATensor > BatchStrideA_
Array< long_index_t, NumBTensor > BatchStrideB_
Array< long_index_t, NumDTensor > BatchStrideDs_
long_index_t BatchStrideE_
long_index_tBatchStrideC_ = BatchStrideE_

Constructor & Destructor Documentation

◆ ComputePtrOffsetOfStridedBatch() [1/2]

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::ComputePtrOffsetOfStridedBatch ( )
default

◆ ComputePtrOffsetOfStridedBatch() [2/2]

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::ComputePtrOffsetOfStridedBatch ( Array< long_index_t, NumATensor > & BatchStrideAs,
Array< long_index_t, NumBTensor > & BatchStrideBs,
Array< long_index_t, NumDTensor > & BatchStrideDs,
long_index_t BatchStrideE )
inline

Member Function Documentation

◆ GetAsPtrOffset()

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
__host__ __device__ constexpr auto ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::GetAsPtrOffset ( index_t g_idx) const
inlineconstexpr

◆ GetBsPtrOffset()

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
__host__ __device__ constexpr auto ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::GetBsPtrOffset ( index_t g_idx) const
inlineconstexpr

◆ GetCPtrOffset()

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
__host__ __device__ constexpr long_index_t ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::GetCPtrOffset ( index_t g_idx) const
inlineconstexpr

◆ GetDsPtrOffset()

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
__host__ __device__ constexpr auto ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::GetDsPtrOffset ( index_t g_idx) const
inlineconstexpr

◆ GetEPtrOffset()

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
__host__ __device__ constexpr long_index_t ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::GetEPtrOffset ( index_t g_idx) const
inlineconstexpr

Member Data Documentation

◆ BatchStrideA_

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
Array<long_index_t, NumATensor> ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::BatchStrideA_

◆ BatchStrideB_

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
Array<long_index_t, NumBTensor> ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::BatchStrideB_

◆ BatchStrideC_

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
long_index_t& ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::BatchStrideC_ = BatchStrideE_

◆ BatchStrideDs_

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
Array<long_index_t, NumDTensor> ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::BatchStrideDs_

◆ BatchStrideE_

template<index_t NumATensor, index_t NumBTensor, index_t NumDTensor>
long_index_t ck::tensor_operation::device::ComputePtrOffsetOfStridedBatch< NumATensor, NumBTensor, NumDTensor, enable_if_t<(NumATensor > 1||NumBTensor > 1)> >::BatchStrideE_

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