#include <blockwise_tensor_slice_transfer_v5r1.hpp>
|
| __device__ constexpr | BlockwiseTensorSliceTransfer_v5r1 (const SrcDesc &src_desc, const Index &src_block_slice_origin, const DstDesc &dst_desc, const Index &dst_block_slice_origin) |
| template<typename SrcBuffer> |
| __device__ void | RunRead (const SrcDesc &src_desc, const SrcBuffer &src_buf) |
| template<typename DstBuffer> |
| __device__ void | RunWrite (const DstDesc &dst_desc, DstBuffer &dst_buf) |
| __device__ void | MoveSrcSliceWindow (const SrcDesc &src_desc, const Index &step) |
| template<typename SrcMoveSliceWindowStepHack> |
| __device__ void | MoveSrcSliceWindow (const SrcDesc &src_desc, const Index &step, const SrcMoveSliceWindowStepHack &src_move_slice_window_step_hack) |
| __device__ void | MoveDstSliceWindow (const DstDesc &dst_desc, const Index &step) |
◆ Index
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| using ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::Index = MultiIndex<nDim> |
◆ BlockwiseTensorSliceTransfer_v5r1()
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ constexpr ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::BlockwiseTensorSliceTransfer_v5r1 |
( |
const SrcDesc & | src_desc, |
|
|
const Index & | src_block_slice_origin, |
|
|
const DstDesc & | dst_desc, |
|
|
const Index & | dst_block_slice_origin ) |
|
inlineconstexpr |
◆ MoveDstSliceWindow()
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::MoveDstSliceWindow |
( |
const DstDesc & | dst_desc, |
|
|
const Index & | step ) |
|
inline |
◆ MoveSrcSliceWindow() [1/2]
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| __device__ void ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::MoveSrcSliceWindow |
( |
const SrcDesc & | src_desc, |
|
|
const Index & | step ) |
|
inline |
◆ MoveSrcSliceWindow() [2/2]
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
template<typename SrcMoveSliceWindowStepHack>
| __device__ void ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::MoveSrcSliceWindow |
( |
const SrcDesc & | src_desc, |
|
|
const Index & | step, |
|
|
const SrcMoveSliceWindowStepHack & | src_move_slice_window_step_hack ) |
|
inline |
◆ RunRead()
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
template<typename SrcBuffer>
| __device__ void ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::RunRead |
( |
const SrcDesc & | src_desc, |
|
|
const SrcBuffer & | src_buf ) |
|
inline |
◆ RunWrite()
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
template<typename DstBuffer>
| __device__ void ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::RunWrite |
( |
const DstDesc & | dst_desc, |
|
|
DstBuffer & | dst_buf ) |
|
inline |
◆ nDim
template<
index_t BlockSize,
InMemoryDataOperationEnum DstInMemOp, typename BlockSliceLengths, typename ThreadSliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename SrcData, typename DstData, typename SrcDesc, typename DstDesc, typename SrcDimAccessOrder, typename DstDimAccessOrder, typename SrcVectorTensorLengths, typename DstVectorTensorLengths, typename SrcVectorTensorContiguousDimOrder, typename DstVectorTensorContiguousDimOrder, bool ThreadTransferSrcResetCoordinateAfterRun, bool ThreadTransferDstResetCoordinateAfterRun>
| index_t ck::BlockwiseTensorSliceTransfer_v5r1< BlockSize, DstInMemOp, BlockSliceLengths, ThreadSliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, SrcData, DstData, SrcDesc, DstDesc, SrcDimAccessOrder, DstDimAccessOrder, SrcVectorTensorLengths, DstVectorTensorLengths, SrcVectorTensorContiguousDimOrder, DstVectorTensorContiguousDimOrder, ThreadTransferSrcResetCoordinateAfterRun, ThreadTransferDstResetCoordinateAfterRun >::nDim = remove_reference_t<SrcDesc>::GetNumOfDimension() |
|
staticconstexpr |
The documentation for this struct was generated from the following file: