coalesced_group Class Reference

coalesced_group Class Reference#

HIP Runtime API Reference: cooperative_groups::coalesced_group Class Reference
cooperative_groups::coalesced_group Class Reference

The coalesced_group cooperative group type. More...

#include <amd_hip_cooperative_groups.h>

Inheritance diagram for cooperative_groups::coalesced_group:
[legend]
Collaboration diagram for cooperative_groups::coalesced_group:
[legend]

Public Member Functions

unsigned int size () const
 
unsigned int thread_rank () const
 Rank of the calling thread within [0, size() ).
 
void sync () const
 Synchronizes the threads in the group.
 
unsigned int meta_group_rank () const
 
unsigned int meta_group_size () const
 Returns the number of groups created when the parent group was partitioned.
 
template<class T >
shfl (T var, int srcRank) const
 Shuffle operation on group level.
 
template<class T >
shfl_down (T var, unsigned int lane_delta) const
 Shuffle down operation on group level.
 
template<class T >
shfl_up (T var, unsigned int lane_delta) const
 Shuffle up operation on group level.
 
unsigned long long ballot (int pred) const
 Ballot function on group level.
 
int any (int pred) const
 Any function on group level.
 
int all (int pred) const
 All function on group level.
 
template<typename T >
unsigned long long match_any (T value) const
 Match any function on group level.
 
template<typename T >
unsigned long long match_all (T value, int &pred) const
 Match all function on group level.
 
- Public Member Functions inherited from cooperative_groups::thread_group
uint32_t size () const
 
unsigned int cg_type () const
 Returns the type of the group.
 
uint32_t thread_rank () const
 Rank of the calling thread within [0, size() ).
 
bool is_valid () const
 Returns true if the group has not violated any API constraints.
 
void sync () const
 Synchronizes the threads in the group.
 

Protected Member Functions

 coalesced_group (lane_mask member_mask)
 
- Protected Member Functions inherited from cooperative_groups::thread_group
 thread_group (internal::group_type type, uint32_t size=static_cast< uint64_t >(0), uint64_t mask=static_cast< uint64_t >(0))
 

Friends

coalesced_group coalesced_threads ()
 User-exposed API to create coalesced groups.
 
thread_group tiled_partition (const thread_group &parent, unsigned int tile_size)
 User-exposed API to partition groups.
 
coalesced_group tiled_partition (const coalesced_group &parent, unsigned int tile_size)
 
coalesced_group binary_partition (const coalesced_group &cgrp, bool pred)
 Binary partition.
 
template<unsigned int fsize, class fparent >
coalesced_group binary_partition (const thread_block_tile< fsize, fparent > &tgrp, bool pred)
 

Additional Inherited Members

- Protected Attributes inherited from cooperative_groups::thread_group
uint32_t _type
 
uint32_t _size
 Type of the thread_group.
 
uint64_t _mask
 Total number of threads in the tread_group.
 
struct cooperative_groups::thread_group::_coalesced_info coalesced_info
 

Detailed Description

The coalesced_group cooperative group type.

Represents an active thread group in a wavefront. This group type also supports sub-wave level intrinsics.

Note
This is implemented on Linux and is under development on Microsoft Windows.

The documentation for this class was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hip/checkouts/clr/hipamd/include/hip/amd_detail/amd_hip_cooperative_groups.h