GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim > Struct Template Reference

GridwiseElementwise&lt; InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim &gt; Struct Template Reference#

Composable Kernel: ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim > Struct Template Reference
ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim > Struct Template Reference

#include <gridwise_elementwise_2d.hpp>

Public Types

using PassThroughOp = tensor_operation::element_wise::PassThrough

Static Public Member Functions

static __device__ void Run (const InGridDescTuple &in_grid_desc_tuple, const OutGridDescTuple &out_grid_desc_tuple, const InDataTypePointerTuple &p_in_global_tuple, const OutDataTypePointerTuple &p_out_global_tuple, const Block2TileMap &block_2_tile_map, const ElementwiseOperation &elementwise_op, const index_t block_id=get_block_1d_id())

Static Public Attributes

static constexpr index_t NumInput = InDataTypePointerTuple::Size()
static constexpr index_t NumOutput = OutDataTypePointerTuple::Size()
static constexpr auto I0 = Number<0>{}
static constexpr auto I1 = Number<1>{}

Member Typedef Documentation

◆ PassThroughOp

template<typename InGridDescTuple, typename OutGridDescTuple, typename InDataTypePointerTuple, typename OutDataTypePointerTuple, typename Block2TileMap, typename ElementwiseOperation, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq, index_t SrcVectorDim, index_t DstVectorDim>
using ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim >::PassThroughOp = tensor_operation::element_wise::PassThrough

Member Function Documentation

◆ Run()

template<typename InGridDescTuple, typename OutGridDescTuple, typename InDataTypePointerTuple, typename OutDataTypePointerTuple, typename Block2TileMap, typename ElementwiseOperation, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq, index_t SrcVectorDim, index_t DstVectorDim>
__device__ void ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim >::Run ( const InGridDescTuple & in_grid_desc_tuple,
const OutGridDescTuple & out_grid_desc_tuple,
const InDataTypePointerTuple & p_in_global_tuple,
const OutDataTypePointerTuple & p_out_global_tuple,
const Block2TileMap & block_2_tile_map,
const ElementwiseOperation & elementwise_op,
const index_t block_id = get_block_1d_id() )
inlinestatic

Member Data Documentation

◆ I0

template<typename InGridDescTuple, typename OutGridDescTuple, typename InDataTypePointerTuple, typename OutDataTypePointerTuple, typename Block2TileMap, typename ElementwiseOperation, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq, index_t SrcVectorDim, index_t DstVectorDim>
auto ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim >::I0 = Number<0>{}
staticconstexpr

◆ I1

template<typename InGridDescTuple, typename OutGridDescTuple, typename InDataTypePointerTuple, typename OutDataTypePointerTuple, typename Block2TileMap, typename ElementwiseOperation, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq, index_t SrcVectorDim, index_t DstVectorDim>
auto ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim >::I1 = Number<1>{}
staticconstexpr

◆ NumInput

template<typename InGridDescTuple, typename OutGridDescTuple, typename InDataTypePointerTuple, typename OutDataTypePointerTuple, typename Block2TileMap, typename ElementwiseOperation, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq, index_t SrcVectorDim, index_t DstVectorDim>
index_t ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim >::NumInput = InDataTypePointerTuple::Size()
staticconstexpr

◆ NumOutput

template<typename InGridDescTuple, typename OutGridDescTuple, typename InDataTypePointerTuple, typename OutDataTypePointerTuple, typename Block2TileMap, typename ElementwiseOperation, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq, index_t SrcVectorDim, index_t DstVectorDim>
index_t ck::GridwiseElementwise< InGridDescTuple, OutGridDescTuple, InDataTypePointerTuple, OutDataTypePointerTuple, Block2TileMap, ElementwiseOperation, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq, SrcVectorDim, DstVectorDim >::NumOutput = OutDataTypePointerTuple::Size()
staticconstexpr

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