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_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  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
 

Functions

template<typename Key , typename Data >
__host__ constexpr __device__ const Data & get_tuple_element_data_reference (const TupleElementKeyData< Key, Data > &x)
 
template<typename Key , typename Data >
__host__ constexpr __device__ Data & get_tuple_element_data_reference (TupleElementKeyData< Key, Data > &x)
 
template<typename Key , typename Data >
__host__ constexpr __device__ Data && get_tuple_element_data_reference (TupleElementKeyData< Key, Data > &&x)
 
template<typename Key , typename Data >
__host__ constexpr __device__ Data get_tuple_element_data (const TupleElementKeyData< Key, Data > &x)
 
template<typename F , typename X , index_t... Is>
__host__ constexpr __device__ auto transform_tuples_impl (F f, const X &x, Sequence< Is... >)
 
template<typename F , typename X , typename Y , index_t... Is>
__host__ constexpr __device__ 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__ constexpr __device__ 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 = typedef typename get_carrier<SizeInBytes>::type

Function Documentation

◆ get_tuple_element_data()

template<typename Key , typename Data >
__host__ constexpr __device__ 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__ constexpr __device__ 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__ constexpr __device__ 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__ constexpr __device__ 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__ constexpr __device__ auto ck::detail::transform_tuples_impl ( 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__ constexpr __device__ auto ck::detail::transform_tuples_impl ( f,
const X &  x,
const Y &  y,
Sequence< Is... >   
)
constexpr

◆ transform_tuples_impl() [3/3]

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