detail Namespace Reference

detail Namespace Reference#

Composable Kernel: ck::detail Namespace Reference
ck::detail Namespace Reference

Classes

struct  lambda_scalar_per_access
struct  lambda_scalar_step_in_vector
struct  lambda_scalar_per_access_for_src_and_dst
struct  lambda_wave_cluster_dimension
struct  lambda_scalar_per_access_for_src_and_dst_idle
struct  get_carrier
struct  get_carrier< 1 >
struct  get_carrier< 2 >
struct  get_carrier< 3 >
struct  get_carrier< 4 >
struct  static_for_impl
struct  static_for_impl< Sequence< Is... > >
struct  applier
struct  static_ford_impl
struct  static_ford_impl< Sequence<>, Orders >
struct  ford_impl
struct  ford_impl< Sequence<>, Orders >
struct  unpack_impl
struct  unpack_impl< Sequence< Is... > >
struct  unpack2_impl
struct  unpack2_impl< Sequence< Is... >, Sequence< Js... > >
struct  ignore_t
struct  detector
struct  detector< Default, ck::void_t< Op< Args... > >, Op, Args... >
struct  AccumulateWithNanIgnore
struct  AccumulateWithNanCheck
struct  AccumulateWithNanCheck< false, ReduceOperation, AccDataType >
struct  AccumulateWithNanCheck< true, ReduceOperation, AccDataType >
struct  AccumulateWithIndexAndNanCheck
struct  AccumulateWithIndexAndNanCheck< false, ReduceOperation, AccDataType, IndexDataType >
struct  AccumulateWithIndexAndNanCheck< true, ReduceOperation, AccDataType, IndexDataType >
struct  pick_sequence_elements_by_mask_impl
struct  pick_sequence_elements_by_mask_impl< WorkSeq, Sequence<>, Sequence<> >
struct  modify_sequence_elements_by_ids_impl
struct  modify_sequence_elements_by_ids_impl< WorkSeq, Sequence<>, Sequence<> >
struct  tuple_concat
struct  tuple_concat< Tuple< Xs... >, Tuple< Ys... > >
struct  StaticallyIndexedArrayImpl
struct  StaticallyIndexedArrayImpl< T, 0 >
struct  StaticallyIndexedArrayImpl< T, 1 >
struct  TupleElementKey
struct  TupleElementKeyData
struct  TupleImpl
struct  TupleImpl< Sequence< Is... >, Xs... >

Typedefs

template<unsigned SizeInBytes>
using get_carrier_t = typename get_carrier<SizeInBytes>::type
template<int32_t Size>
using make_applier = __make_integer_seq<applier, index_t, Size>

Functions

template<typename Key, typename Data>
__host__ __device__ constexpr const Data & get_tuple_element_data_reference (const TupleElementKeyData< Key, Data > &x)
template<typename Key, typename Data>
__host__ __device__ constexpr Data & get_tuple_element_data_reference (TupleElementKeyData< Key, Data > &x)
template<typename Key, typename Data>
__host__ __device__ constexpr Data && get_tuple_element_data_reference (TupleElementKeyData< Key, Data > &&x)
template<typename Key, typename Data>
__host__ __device__ constexpr Data get_tuple_element_data (const TupleElementKeyData< Key, Data > &x)
template<typename F, typename X, index_t... Is>
__host__ __device__ constexpr auto transform_tuples_impl (F f, const X &x, Sequence< Is... >)
template<typename F, typename X, typename Y, index_t... Is>
__host__ __device__ constexpr auto transform_tuples_impl (F f, const X &x, const Y &y, Sequence< Is... >)
template<typename F, typename X, typename Y, typename Z, index_t... Is>
__host__ __device__ constexpr auto transform_tuples_impl (F f, const X &x, const Y &y, const Z &z, Sequence< Is... >)

Typedef Documentation

◆ get_carrier_t

template<unsigned SizeInBytes>
using ck::detail::get_carrier_t = typename get_carrier<SizeInBytes>::type

◆ make_applier

template<int32_t Size>
using ck::detail::make_applier = __make_integer_seq<applier, index_t, Size>

Function Documentation

◆ get_tuple_element_data()

template<typename Key, typename Data>
__host__ __device__ constexpr Data ck::detail::get_tuple_element_data ( const TupleElementKeyData< Key, Data > & x)
constexpr

◆ get_tuple_element_data_reference() [1/3]

template<typename Key, typename Data>
__host__ __device__ constexpr const Data & ck::detail::get_tuple_element_data_reference ( const TupleElementKeyData< Key, Data > & x)
constexpr

◆ get_tuple_element_data_reference() [2/3]

template<typename Key, typename Data>
__host__ __device__ constexpr Data && ck::detail::get_tuple_element_data_reference ( TupleElementKeyData< Key, Data > && x)
constexpr

◆ get_tuple_element_data_reference() [3/3]

template<typename Key, typename Data>
__host__ __device__ constexpr Data & ck::detail::get_tuple_element_data_reference ( TupleElementKeyData< Key, Data > & x)
constexpr

◆ transform_tuples_impl() [1/3]

template<typename F, typename X, typename Y, typename Z, index_t... Is>
__host__ __device__ constexpr auto ck::detail::transform_tuples_impl ( F f,
const X & x,
const Y & y,
const Z & z,
Sequence< Is... >  )
constexpr

◆ transform_tuples_impl() [2/3]

template<typename F, typename X, typename Y, index_t... Is>
__host__ __device__ constexpr auto ck::detail::transform_tuples_impl ( F f,
const X & x,
const Y & y,
Sequence< Is... >  )
constexpr

◆ transform_tuples_impl() [3/3]

template<typename F, typename X, index_t... Is>
__host__ __device__ constexpr auto ck::detail::transform_tuples_impl ( F f,
const X & x,
Sequence< Is... >  )
constexpr