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