|  | 
|  | cooperative_groups::thread_group::thread_group (internal::group_type type, __hip_uint32_t num_threads=static_cast< __hip_uint64_t >(0), __hip_uint64_t mask=static_cast< __hip_uint64_t >(0)) | 
|  | 
| __hip_uint32_t | cooperative_groups::thread_group::num_threads () const | 
|  | 
| __hip_uint32_t | cooperative_groups::thread_group::size () const | 
|  | Total number of threads in the group (alias of num_threads())  More... 
 | 
|  | 
| unsigned int | cooperative_groups::thread_group::cg_type () const | 
|  | Returns the type of the group.  More... 
 | 
|  | 
| __hip_uint32_t | cooperative_groups::thread_group::thread_rank () const | 
|  | Rank of the calling thread within [0, num_threads() ).  More... 
 | 
|  | 
| bool | cooperative_groups::thread_group::is_valid () const | 
|  | Returns true if the group has not violated any API constraints.  More... 
 | 
|  | 
| void | cooperative_groups::thread_group::sync () const | 
|  | Synchronizes the threads in the group.  More... 
 | 
|  | 
|  | cooperative_groups::multi_grid_group::multi_grid_group (__hip_uint32_t size) | 
|  | Construct multi-grid thread group (through the API this_multi_grid())  More... 
 | 
|  | 
| __hip_uint32_t | cooperative_groups::multi_grid_group::num_grids () | 
|  | 
| __hip_uint32_t | cooperative_groups::multi_grid_group::grid_rank () | 
|  | 
| __hip_uint32_t | cooperative_groups::multi_grid_group::thread_rank () const | 
|  | Rank of the calling thread within [0, num_threads() ).  More... 
 | 
|  | 
| bool | cooperative_groups::multi_grid_group::is_valid () const | 
|  | Returns true if the group has not violated any API constraints.  More... 
 | 
|  | 
| void | cooperative_groups::multi_grid_group::sync () const | 
|  | Synchronizes the threads in the group.  More... 
 | 
|  | 
|  | cooperative_groups::grid_group::grid_group (__hip_uint32_t size) | 
|  | Construct grid thread group (through the API this_grid())  More... 
 | 
|  | 
| __hip_uint32_t | cooperative_groups::grid_group::thread_rank () const | 
|  | Rank of the calling thread within [0, num_threads() ).  More... 
 | 
|  | 
| bool | cooperative_groups::grid_group::is_valid () const | 
|  | Returns true if the group has not violated any API constraints.  More... 
 | 
|  | 
| void | cooperative_groups::grid_group::sync () const | 
|  | Synchronizes the threads in the group.  More... 
 | 
|  | 
| dim3 | cooperative_groups::grid_group::group_dim () const | 
|  | 
|  | cooperative_groups::thread_block::thread_block (__hip_uint32_t size) | 
|  | 
| thread_group | cooperative_groups::thread_block::new_tiled_group (unsigned int tile_size) const | 
|  | 
| static dim3 | cooperative_groups::thread_block::group_index () | 
|  | Returns 3-dimensional block index within the grid.  More... 
 | 
|  | 
| static dim3 | cooperative_groups::thread_block::thread_index () | 
|  | Returns 3-dimensional thread index within the block.  More... 
 | 
|  | 
| static __hip_uint32_t | cooperative_groups::thread_block::thread_rank () | 
|  | Rank of the calling thread within [0, num_threads() ).  More... 
 | 
|  | 
| static __hip_uint32_t | cooperative_groups::thread_block::num_threads () | 
|  | 
| static __hip_uint32_t | cooperative_groups::thread_block::size () | 
|  | Total number of threads in the group (alias of num_threads())  More... 
 | 
|  | 
| static bool | cooperative_groups::thread_block::is_valid () | 
|  | Returns true if the group has not violated any API constraints.  More... 
 | 
|  | 
| static void | cooperative_groups::thread_block::sync () | 
|  | Synchronizes the threads in the group.  More... 
 | 
|  | 
| dim3 | cooperative_groups::thread_block::group_dim () | 
|  | Returns the group dimensions.  More... 
 | 
|  | 
|  | cooperative_groups::tiled_group::tiled_group (unsigned int tileSize) | 
|  | 
| unsigned int | cooperative_groups::tiled_group::num_threads () const | 
|  | 
| unsigned int | cooperative_groups::tiled_group::size () const | 
|  | Total number of threads in the group (alias of num_threads())  More... 
 | 
|  | 
| unsigned int | cooperative_groups::tiled_group::thread_rank () const | 
|  | Rank of the calling thread within [0, num_threads() ).  More... 
 | 
|  | 
| void | cooperative_groups::tiled_group::sync () const | 
|  | Synchronizes the threads in the group.  More... 
 | 
|  | 
|  | cooperative_groups::coalesced_group::coalesced_group (lane_mask member_mask) | 
|  | 
| unsigned int | cooperative_groups::coalesced_group::num_threads () const | 
|  | 
| unsigned int | cooperative_groups::coalesced_group::size () const | 
|  | Total number of threads in the group (alias of num_threads())  More... 
 | 
|  | 
| unsigned int | cooperative_groups::coalesced_group::thread_rank () const | 
|  | Rank of the calling thread within [0, num_threads() ).  More... 
 | 
|  | 
| void | cooperative_groups::coalesced_group::sync () const | 
|  | Synchronizes the threads in the group.  More... 
 | 
|  | 
| unsigned int | cooperative_groups::coalesced_group::meta_group_rank () const | 
|  | 
| unsigned int | cooperative_groups::coalesced_group::meta_group_size () const | 
|  | Returns the number of groups created when the parent group was partitioned.  More... 
 | 
|  | 
| template<class T > | 
| T | cooperative_groups::coalesced_group::shfl (T var, int srcRank) const | 
|  | Shuffle operation on group level.  More... 
 | 
|  | 
| template<class T > | 
| T | cooperative_groups::coalesced_group::shfl_down (T var, unsigned int lane_delta) const | 
|  | Shuffle down operation on group level.  More... 
 | 
|  | 
| template<class T > | 
| T | cooperative_groups::coalesced_group::shfl_up (T var, unsigned int lane_delta) const | 
|  | Shuffle up operation on group level.  More... 
 | 
|  | 
| unsigned long long | cooperative_groups::coalesced_group::ballot (int pred) const | 
|  | Ballot function on group level.  More... 
 | 
|  | 
| int | cooperative_groups::coalesced_group::any (int pred) const | 
|  | Any function on group level.  More... 
 | 
|  | 
| int | cooperative_groups::coalesced_group::all (int pred) const | 
|  | All function on group level.  More... 
 | 
|  | 
| template<typename T > | 
| unsigned long long | cooperative_groups::coalesced_group::match_any (T value) const | 
|  | Match any function on group level.  More... 
 | 
|  | 
| template<typename T > | 
| unsigned long long | cooperative_groups::coalesced_group::match_all (T value, int &pred) const | 
|  | Match all function on group level.  More... 
 | 
|  | 
| static constexpr unsigned int | cooperative_groups::tile_base< tileSize >::thread_rank () | 
|  | Rank of the thread within this tile.  More... 
 | 
|  | 
| static unsigned int | cooperative_groups::tile_base< tileSize >::num_threads () | 
|  | Number of threads within this tile.  More... 
 | 
|  | 
| static unsigned int | cooperative_groups::tile_base< tileSize >::size () | 
|  | 
| static void | cooperative_groups::thread_block_tile_base< size >::sync () | 
|  | 
| template<class T > | 
| T | cooperative_groups::thread_block_tile_base< size >::shfl (T var, int srcRank) const | 
|  | 
| template<class T > | 
| T | cooperative_groups::thread_block_tile_base< size >::shfl_down (T var, unsigned int lane_delta) const | 
|  | 
| template<class T > | 
| T | cooperative_groups::thread_block_tile_base< size >::shfl_up (T var, unsigned int lane_delta) const | 
|  | 
| template<class T > | 
| T | cooperative_groups::thread_block_tile_base< size >::shfl_xor (T var, unsigned int laneMask) const | 
|  | 
| unsigned long long | cooperative_groups::thread_block_tile_base< size >::ballot (int pred) const | 
|  | 
| int | cooperative_groups::thread_block_tile_base< size >::any (int pred) const | 
|  | 
| int | cooperative_groups::thread_block_tile_base< size >::all (int pred) const | 
|  | 
| template<typename T > | 
| unsigned long long | cooperative_groups::thread_block_tile_base< size >::match_any (T value) const | 
|  | 
| template<typename T > | 
| unsigned long long | cooperative_groups::thread_block_tile_base< size >::match_all (T value, int &pred) const | 
|  | 
| static unsigned int | cooperative_groups::parent_group_info< tileSize, ParentCGTy >::meta_group_rank () | 
|  | 
| static unsigned int | cooperative_groups::parent_group_info< tileSize, ParentCGTy >::meta_group_size () | 
|  | Returns the number of groups created when the parent group was partitioned.  More... 
 | 
|  | 
|  | cooperative_groups::thread_block_tile_type< tileSize, ParentCGTy >::thread_block_tile_type () | 
|  | 
|  | cooperative_groups::thread_block_tile_type< tileSize, ParentCGTy >::thread_block_tile_type (unsigned int meta_group_rank, unsigned int meta_group_size) | 
|  | 
|  | cooperative_groups::thread_block_tile_type< tileSize, void >::thread_block_tile_type (unsigned int meta_group_rank, unsigned int meta_group_size) | 
|  | 
| unsigned int | cooperative_groups::thread_block_tile_type< tileSize, void >::meta_group_rank () const | 
|  | 
| unsigned int | cooperative_groups::thread_block_tile_type< tileSize, void >::meta_group_size () const | 
|  | Returns the number of groups created when the parent group was partitioned.  More... 
 | 
|  | 
| thread_group | cooperative_groups::this_thread () | 
|  | 
| thread_group | cooperative_groups::tiled_partition (const thread_block &parent, unsigned int tile_size) | 
|  | 
| tiled_group | cooperative_groups::tiled_partition (const tiled_group &parent, unsigned int tile_size) | 
|  | 
| coalesced_group | cooperative_groups::tiled_partition (const coalesced_group &parent, unsigned int tile_size) | 
|  | 
|  | 
| class | cooperative_groups::thread_group::thread_block | 
|  | 
| thread_group | cooperative_groups::thread_group::this_thread () | 
|  | 
| thread_group | cooperative_groups::thread_group::tiled_partition (const thread_group &parent, unsigned int tile_size) | 
|  | User-exposed API to partition groups.  More... 
 | 
|  | 
| multi_grid_group | cooperative_groups::multi_grid_group::this_multi_grid () | 
|  | User-exposed API interface to construct grid cooperative group type object - multi_grid_group.  More...
 | 
|  | 
| grid_group | cooperative_groups::grid_group::this_grid () | 
|  | User-exposed API interface to construct grid cooperative group type object - grid_group.  More...
 | 
|  | 
| thread_block | cooperative_groups::thread_block::this_thread_block () | 
|  | User-exposed API interface to construct workgroup cooperative group type object - thread_block.  More...
 | 
|  | 
| thread_group | cooperative_groups::thread_block::tiled_partition (const thread_group &parent, unsigned int tile_size) | 
|  | User-exposed API to partition groups.  More... 
 | 
|  | 
| thread_group | cooperative_groups::thread_block::tiled_partition (const thread_block &parent, unsigned int tile_size) | 
|  | 
| thread_group | cooperative_groups::tiled_group::tiled_partition (const thread_group &parent, unsigned int tile_size) | 
|  | User-exposed API to partition groups.  More... 
 | 
|  | 
| tiled_group | cooperative_groups::tiled_group::tiled_partition (const tiled_group &parent, unsigned int tile_size) | 
|  | 
| coalesced_group | cooperative_groups::coalesced_group::coalesced_threads () | 
|  | User-exposed API to create coalesced groups.  More... 
 | 
|  | 
| thread_group | cooperative_groups::coalesced_group::tiled_partition (const thread_group &parent, unsigned int tile_size) | 
|  | User-exposed API to partition groups.  More... 
 | 
|  | 
| coalesced_group | cooperative_groups::coalesced_group::tiled_partition (const coalesced_group &parent, unsigned int tile_size) | 
|  | 
| coalesced_group | cooperative_groups::coalesced_group::binary_partition (const coalesced_group &cgrp, bool pred) | 
|  | Binary partition.  More... 
 | 
|  | 
| template<unsigned int fsize, class fparent > | 
| coalesced_group | cooperative_groups::coalesced_group::binary_partition (const thread_block_tile< fsize, fparent > &tgrp, bool pred) | 
|  | 
| template<unsigned int fsize, class fparent > | 
| coalesced_group | cooperative_groups::thread_block_tile_base< size >::binary_partition (const thread_block_tile< fsize, fparent > &tgrp, bool pred) | 
|  | 
This section describes the cooperative groups functions of HIP runtime API.
The cooperative groups provides flexible thread parallel programming algorithms, threads cooperate and share data to perform collective computations.