ElementWiseKernel< Problem_, Policy_ > Struct Template Reference

ElementWiseKernel&lt; Problem_, Policy_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::ElementWiseKernel< Problem_, Policy_ > Struct Template Reference
ck_tile::ElementWiseKernel< Problem_, Policy_ > Struct Template Reference

#include <elementwise_kernel.hpp>

Public Types

using Problem = ck_tile::remove_cvref_t<Problem_>
using Policy = ck_tile::remove_cvref_t<Policy_>
using XDataType = ck_tile::remove_cvref_t<typename Problem::XDataType>
using ComputeDataType = ck_tile::remove_cvref_t<typename Problem::ComputeDataType>
using YDataType = ck_tile::remove_cvref_t<typename Problem::YDataType>
using ElementWiseOperation = ck_tile::remove_cvref_t<typename Problem::ElementWiseOperation>

Public Member Functions

template<typename... XDataType, typename Dims>
CK_TILE_DEVICE void operator() (const Dims lens, const Dims input_strides, const Dims output_strides, const tuple< XDataType... > &input_tensors, YDataType *p_y) const

Static Public Member Functions

static CK_TILE_HOST constexpr auto BlockSize ()
template<typename... Ints>
static CK_TILE_HOST bool IsSupportedArgument (const ck_tile::tuple< Ints... > &input_sizes)

Static Public Attributes

static constexpr index_t kBlockSize = Problem::BlockShape::kBlockSize

Member Typedef Documentation

◆ ComputeDataType

template<typename Problem_, typename Policy_>
using ck_tile::ElementWiseKernel< Problem_, Policy_ >::ComputeDataType = ck_tile::remove_cvref_t<typename Problem::ComputeDataType>

◆ ElementWiseOperation

template<typename Problem_, typename Policy_>
using ck_tile::ElementWiseKernel< Problem_, Policy_ >::ElementWiseOperation = ck_tile::remove_cvref_t<typename Problem::ElementWiseOperation>

◆ Policy

template<typename Problem_, typename Policy_>
using ck_tile::ElementWiseKernel< Problem_, Policy_ >::Policy = ck_tile::remove_cvref_t<Policy_>

◆ Problem

template<typename Problem_, typename Policy_>
using ck_tile::ElementWiseKernel< Problem_, Policy_ >::Problem = ck_tile::remove_cvref_t<Problem_>

◆ XDataType

template<typename Problem_, typename Policy_>
using ck_tile::ElementWiseKernel< Problem_, Policy_ >::XDataType = ck_tile::remove_cvref_t<typename Problem::XDataType>

◆ YDataType

template<typename Problem_, typename Policy_>
using ck_tile::ElementWiseKernel< Problem_, Policy_ >::YDataType = ck_tile::remove_cvref_t<typename Problem::YDataType>

Member Function Documentation

◆ BlockSize()

template<typename Problem_, typename Policy_>
CK_TILE_HOST constexpr auto ck_tile::ElementWiseKernel< Problem_, Policy_ >::BlockSize ( )
inlinestaticconstexpr

◆ IsSupportedArgument()

template<typename Problem_, typename Policy_>
template<typename... Ints>
CK_TILE_HOST bool ck_tile::ElementWiseKernel< Problem_, Policy_ >::IsSupportedArgument ( const ck_tile::tuple< Ints... > & input_sizes)
inlinestatic

◆ operator()()

template<typename Problem_, typename Policy_>
template<typename... XDataType, typename Dims>
CK_TILE_DEVICE void ck_tile::ElementWiseKernel< Problem_, Policy_ >::operator() ( const Dims lens,
const Dims input_strides,
const Dims output_strides,
const tuple< XDataType... > & input_tensors,
YDataType * p_y ) const
inline

Member Data Documentation

◆ kBlockSize

template<typename Problem_, typename Policy_>
index_t ck_tile::ElementWiseKernel< Problem_, Policy_ >::kBlockSize = Problem::BlockShape::kBlockSize
staticconstexpr

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