multi_index_transform_helper.hpp File Reference

multi_index_transform_helper.hpp File Reference#

Composable Kernel: multi_index_transform_helper.hpp File Reference
multi_index_transform_helper.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  ck

Functions

template<typename LowLength>
__host__ __device__ constexpr auto ck::make_pass_through_transform (const LowLength &low_length)
template<typename LowLength, typename LeftPad, typename RightPad, bool SkipIsValidCheck = false>
__host__ __device__ constexpr auto ck::make_pad_transform (const LowLength &low_length, const LeftPad &left_pad, const RightPad &right_pad, integral_constant< bool, SkipIsValidCheck >=integral_constant< bool, false >{})
template<typename LowLength, typename LeftPadLength, bool SkipIsValidCheck = false>
__host__ __device__ constexpr auto ck::make_left_pad_transform (const LowLength &low_length, const LeftPadLength &left_pad, integral_constant< bool, SkipIsValidCheck >=integral_constant< bool, false >{})
template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ __device__ constexpr auto ck::make_right_pad_transform (const LowLength &low_length, const RightPadLength &right_pad, integral_constant< bool, SkipIsValidCheck >=integral_constant< bool, false >{})
template<typename UpLengths, typename Coefficients, typename enable_if< UpLengths::Size()==Coefficients::Size(), bool >::type = false>
__host__ __device__ constexpr auto ck::make_embed_transform (const UpLengths &up_lengths, const Coefficients &coefficients)
template<typename LowLengths>
__host__ __device__ constexpr auto ck::make_merge_transform (const LowLengths &low_lengths)
template<typename LowLengths>
__host__ __device__ constexpr auto ck::make_merge_transform_v1_carry_check (const LowLengths &low_lengths)
template<typename LowLengths>
__host__ __device__ constexpr auto ck::make_merge_transform_v2_magic_division (const LowLengths &low_lengths)
template<typename LowLengths>
__host__ __device__ constexpr auto ck::make_merge_transform_v3_division_mod (const LowLengths &low_lengths)
template<typename UpLengths, bool Use24BitIntegerCalculation = false>
__host__ __device__ constexpr auto ck::make_unmerge_transform (const UpLengths &up_lengths, integral_constant< bool, Use24BitIntegerCalculation >=integral_constant< bool, false >{})
__host__ __device__ constexpr auto ck::make_conv_bwd_data_out_transform (index_t N, index_t Ho, index_t Wo, index_t K, index_t YDot, index_t XDot, index_t HTilde, index_t WTilde, index_t ConvDilationH, index_t ConvDilationW, index_t HTildeSlice, index_t WTildeSlice, index_t YDotSlice, index_t XDotSlice, index_t IHTildeSliceBegin, index_t IWTildeSliceBegin, index_t GcdStrideDilationH, index_t GcdStrideDilationW, index_t K0, index_t K1, index_t MPerBlock, index_t GemmKPerBlock)
template<typename LowerIndex>
__host__ __device__ constexpr auto ck::make_freeze_transform (const LowerIndex &low_idx)
template<typename UpperIndex>
__host__ __device__ constexpr auto ck::make_insert_transform (const UpperIndex &up_idx)
template<typename LowLength, typename SliceBegin, typename SliceEnd>
__host__ __device__ constexpr auto ck::make_slice_transform (const LowLength &low_length, const SliceBegin &slice_begin, const SliceEnd &slice_end)
template<typename VectorSize, typename UpLength>
__host__ __device__ constexpr auto ck::make_vectorize_transform (const VectorSize &vector_size, const UpLength &up_length)
template<typename Modulus, typename UpLength>
__host__ __device__ constexpr auto ck::make_modulo_transform (const Modulus &modulus, const UpLength &up_length)
template<typename LowLengths>
__host__ __device__ constexpr auto ck::make_xor_with_modulo_transform (const LowLengths &low_lengths)
template<typename LowLengths>
__host__ __device__ constexpr auto ck::make_xor_transform (const LowLengths &low_lengths)