#include <thread_group_tensor_slice_transfer_v7.hpp>
|
| __device__ constexpr | ThreadGroupTensorSliceTransfer_v7 (const SrcDescs &src_descs, const StaticallyIndexedArray< Index, nSrc > &src_block_slice_origins, const DstDescs &dst_descs, const StaticallyIndexedArray< Index, nDst > &dst_block_slice_origins, const ElementwiseOperation &element_op) |
| template<typename SrcBuffers, typename DstBuffers> |
| __device__ void | Run (const SrcDescs &src_descs, const SrcBuffers &src_bufs, const DstDescs &dst_descs, DstBuffers dst_bufs) |
| template<index_t ISrc> |
| __device__ void | MoveSrcSliceWindow (const SrcDescs &src_descs, Number< ISrc > iSrc, const Index &step) |
| template<index_t IDst> |
| __device__ void | MoveDstSliceWindow (const DstDescs &dst_descs, Number< IDst > iDst, const Index &step) |
◆ Index
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| using ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::Index = MultiIndex<nDim> |
◆ ThreadGroupTensorSliceTransfer_v7()
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| __device__ constexpr ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::ThreadGroupTensorSliceTransfer_v7 |
( |
const SrcDescs & | src_descs, |
|
|
const StaticallyIndexedArray< Index, nSrc > & | src_block_slice_origins, |
|
|
const DstDescs & | dst_descs, |
|
|
const StaticallyIndexedArray< Index, nDst > & | dst_block_slice_origins, |
|
|
const ElementwiseOperation & | element_op ) |
|
inlineconstexpr |
◆ MoveDstSliceWindow()
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::MoveDstSliceWindow |
( |
const DstDescs & | dst_descs, |
|
|
Number< IDst > | iDst, |
|
|
const Index & | step ) |
|
inline |
◆ MoveSrcSliceWindow()
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::MoveSrcSliceWindow |
( |
const SrcDescs & | src_descs, |
|
|
Number< ISrc > | iSrc, |
|
|
const Index & | step ) |
|
inline |
◆ Run()
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
template<typename SrcBuffers, typename DstBuffers>
| __device__ void ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::Run |
( |
const SrcDescs & | src_descs, |
|
|
const SrcBuffers & | src_bufs, |
|
|
const DstDescs & | dst_descs, |
|
|
DstBuffers | dst_bufs ) |
|
inline |
◆ nDim
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| index_t ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::nDim |
|
staticconstexpr |
Initial value:=
remove_cv_t< remove_reference_t< T > > remove_cvref_t
Definition type.hpp:297
◆ nDst
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| index_t ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::nDst = remove_cvref_t<DstDescs>::Size() |
|
staticconstexpr |
◆ nSrc
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| index_t ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::nSrc = remove_cvref_t<SrcDescs>::Size() |
|
staticconstexpr |
◆ thread_slice_lengths
template<typename ThreadGroup, typename SrcDatas, typename DstDatas, typename SrcDescs, typename DstDescs, typename ElementwiseOperation, typename DstInMemOps, typename SliceLengths, typename ThreadClusterLengths, typename ThreadClusterArrangeOrder, typename DimAccessOrder,
index_t VectorDim,
index_t ScalarPerVector, typename ThreadTransferSrcResetCoordinateAfterRunFlags, typename ThreadTransferDstResetCoordinateAfterRunFlags>
| auto ck::ThreadGroupTensorSliceTransfer_v7< ThreadGroup, SrcDatas, DstDatas, SrcDescs, DstDescs, ElementwiseOperation, DstInMemOps, SliceLengths, ThreadClusterLengths, ThreadClusterArrangeOrder, DimAccessOrder, VectorDim, ScalarPerVector, ThreadTransferSrcResetCoordinateAfterRunFlags, ThreadTransferDstResetCoordinateAfterRunFlags >::thread_slice_lengths = SliceLengths{} / ThreadClusterLengths{} |
|
staticconstexpr |
The documentation for this struct was generated from the following file: