#include <thread_group_tensor_slice_transfer_v6r1r2.hpp>
|
| __device__ constexpr | ThreadGroupTensorSliceTransfer_v6r1r2 (const SrcDesc &src_desc, const Index &src_block_slice_origin, const DstDesc &dst_desc, const Index &dst_block_slice_origin, const ElementwiseOperation &element_op) |
| template<typename SrcBuffer, typename DstBuffer, InMemoryDataOperationEnum DstInMemOp> |
| __device__ void | Run (const SrcDesc &src_desc, const SrcBuffer &src_buf, const DstDesc &dst_desc, DstBuffer &dst_buf) |
| __device__ void | MoveSrcSliceWindow (const SrcDesc &src_desc, const Index &step) |
| __device__ void | MoveDstSliceWindow (const DstDesc &dst_desc, const Index &step) |
| __device__ void | SetSrcSliceOrigin (const SrcDesc &src_desc, const Index &src_block_slice_origin) |
| __device__ void | SetDstSliceOrigin (const DstDesc &dst_desc, const Index &dst_block_slice_origin) |
◆ Index
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| using ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::Index = MultiIndex<nDim> |
◆ ThreadGroupTensorSliceTransfer_v6r1r2()
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ constexpr ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::ThreadGroupTensorSliceTransfer_v6r1r2 |
( |
const SrcDesc & | src_desc, |
|
|
const Index & | src_block_slice_origin, |
|
|
const DstDesc & | dst_desc, |
|
|
const Index & | dst_block_slice_origin, |
|
|
const ElementwiseOperation & | element_op ) |
|
inlineconstexpr |
◆ MoveDstSliceWindow()
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::MoveDstSliceWindow |
( |
const DstDesc & | dst_desc, |
|
|
const Index & | step ) |
|
inline |
◆ MoveSrcSliceWindow()
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::MoveSrcSliceWindow |
( |
const SrcDesc & | src_desc, |
|
|
const Index & | step ) |
|
inline |
◆ Run()
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::Run |
( |
const SrcDesc & | src_desc, |
|
|
const SrcBuffer & | src_buf, |
|
|
const DstDesc & | dst_desc, |
|
|
DstBuffer & | dst_buf ) |
|
inline |
◆ SetDstSliceOrigin()
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::SetDstSliceOrigin |
( |
const DstDesc & | dst_desc, |
|
|
const Index & | dst_block_slice_origin ) |
|
inline |
◆ SetSrcSliceOrigin()
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::SetSrcSliceOrigin |
( |
const SrcDesc & | src_desc, |
|
|
const Index & | src_block_slice_origin ) |
|
inline |
◆ nDim
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| index_t ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::nDim = remove_reference_t<SrcDesc>::GetNumOfDimension() |
|
staticconstexpr |
◆ thread_slice_lengths
template<typename ThreadGroup, typename ElementwiseOperation, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| auto ck::ThreadGroupTensorSliceTransfer_v6r1r2< ThreadGroup, ElementwiseOperation, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::thread_slice_lengths = SliceLengths{} / ThreadClusterLengths{} |
|
staticconstexpr |
The documentation for this struct was generated from the following file: