impl Namespace Reference

impl Namespace Reference#

HIP Runtime API Reference: cooperative_groups::impl Namespace Reference
cooperative_groups::impl Namespace Reference

Data Structures

struct  CGIdentity
 
struct  CGIdentity< bool, cooperative_groups::bit_and< bool > >
 
struct  CGIdentity< bool, cooperative_groups::bit_or< bool > >
 
struct  CGIdentity< bool, cooperative_groups::greater< bool > >
 
struct  CGIdentity< bool, cooperative_groups::less< bool > >
 
struct  CGIdentity< T, cooperative_groups::bit_and< T > >
 
struct  CGIdentity< T, cooperative_groups::greater< T > >
 
struct  CGIdentity< T, cooperative_groups::less< T > >
 
struct  isArithmeticFunc
 
struct  isArithmeticFunc< T, cooperative_groups::greater< T > >
 
struct  isArithmeticFunc< T, cooperative_groups::less< T > >
 
struct  isArithmeticFunc< T, cooperative_groups::plus< T > >
 
struct  isBooleanFunc
 
struct  isBooleanFunc< T, cooperative_groups::bit_and< T > >
 
struct  isBooleanFunc< T, cooperative_groups::bit_or< T > >
 
struct  isBooleanFunc< T, cooperative_groups::bit_xor< T > >
 
struct  isCoalescedGroup
 
struct  isCoalescedGroup< cooperative_groups::coalesced_group >
 
struct  isTiledGroup
 
struct  isTiledGroup< cooperative_groups::thread_block_tile< N, ParentCGTy > >
 
class  thread_block_tile_internal
 
struct  tiled_partition_internal
 
struct  tiled_partition_internal< size, thread_block >
 
struct  tiled_partition_internal< size, thread_block_tile< ParentSize, GrandParentCGTy > >
 
struct  tiledGroupSize
 
struct  tiledGroupSize< cooperative_groups::thread_block_tile< N, ParentCGTy > >
 

Typedefs

template<typename T , typename U >
using is_param_type_same = __hip_internal::is_same< typename __hip_internal::remove_cvref< T >, typename __hip_internal::remove_cvref< U > >
 

Functions

template<typename TyGroup >
unsigned long long groupMask (const TyGroup &)
 
template<typename T >
T && forward (typename __hip_internal::remove_reference< T >::type &t)
 
template<typename T >
T && forward (typename __hip_internal::remove_reference< T >::type &&t)
 
template<typename Group , typename Fn , typename... Args>
auto invoke_one_broadcast_impl (const Group &g, Fn &&fn, Args &&... args) -> typename __hip_internal::remove_reference< decltype(impl::forward< Fn >(fn)(impl::forward< Args >(args)...))>::type
 
template<bool isPrimitiveType, class T , size_t NumPermutes, typename __hip_internal::enable_if< NumPermutes==0, int >::type = 0>
void bPermute (T &, T, int from)
 
template<bool IsPrimitiveType, class T , size_t NumPermutes>
void bPermute (T permuteResult[NumPermutes], T result[NumPermutes], int from)
 

Data Structure Documentation

◆ cooperative_groups::impl::tiled_partition_internal

struct cooperative_groups::impl::tiled_partition_internal
template<unsigned int size, class ParentCGTy>
struct cooperative_groups::impl::tiled_partition_internal< size, ParentCGTy >

Typedef Documentation

◆ is_param_type_same

template<typename T , typename U >
using cooperative_groups::impl::is_param_type_same = typedef __hip_internal::is_same<typename __hip_internal::remove_cvref<T>, typename __hip_internal::remove_cvref<U> >

Function Documentation

◆ bPermute() [1/2]

template<bool isPrimitiveType, class T , size_t NumPermutes, typename __hip_internal::enable_if< NumPermutes==0, int >::type = 0>
void cooperative_groups::impl::bPermute ( T &  permuteResult,
T  result,
int  from 
)

◆ bPermute() [2/2]

template<bool IsPrimitiveType, class T , size_t NumPermutes>
void cooperative_groups::impl::bPermute ( T  permuteResult[NumPermutes],
T  result[NumPermutes],
int  from 
)

◆ forward() [1/2]

template<typename T >
T && cooperative_groups::impl::forward ( typename __hip_internal::remove_reference< T >::type &&  t)

◆ forward() [2/2]

template<typename T >
T && cooperative_groups::impl::forward ( typename __hip_internal::remove_reference< T >::type &  t)

◆ invoke_one_broadcast_impl()

template<typename Group , typename Fn , typename... Args>
auto cooperative_groups::impl::invoke_one_broadcast_impl ( const Group &  g,
Fn &&  fn,
Args &&...  args 
) -> typename __hip_internal::remove_reference<decltype(impl::forward<Fn>(fn)( impl::forward<Args>(args)...))>::type