Construct functions of Cooperative groups#
Functions | |
| multi_grid_group | cooperative_groups::this_multi_grid () |
User-exposed API interface to construct grid cooperative group type object - multi_grid_group. | |
| grid_group | cooperative_groups::this_grid () |
User-exposed API interface to construct grid cooperative group type object - grid_group. | |
| thread_block | cooperative_groups::this_thread_block () |
User-exposed API interface to construct workgroup cooperative group type object - thread_block. | |
| coalesced_group | cooperative_groups::coalesced_threads () |
| User-exposed API to create coalesced groups. | |
| thread_group | cooperative_groups::tiled_partition (const thread_group &parent, unsigned int tile_size) |
| User-exposed API to partition groups. | |
| template<unsigned int size, class ParentCGTy > | |
| thread_block_tile< size, ParentCGTy > | cooperative_groups::tiled_partition (const ParentCGTy &g) |
| Create a partition. | |
| coalesced_group | cooperative_groups::binary_partition (const coalesced_group &cgrp, bool pred) |
| Binary partition. | |
| template<unsigned int size, class parent > | |
| coalesced_group | cooperative_groups::binary_partition (const thread_block_tile< size, parent > &tgrp, bool pred) |
| Binary partition. | |
Detailed Description
Function Documentation
◆ binary_partition() [1/2]
| coalesced_group cooperative_groups::binary_partition | ( | const coalesced_group & | cgrp, |
| bool | pred | ||
| ) |
Binary partition.
This splits the input thread group into two partitions determined by predicate.
- Parameters
-
cgrp [in] The coalesced group for split. pred [in] The predicate used during the group split up.
◆ binary_partition() [2/2]
| coalesced_group cooperative_groups::binary_partition | ( | const thread_block_tile< size, parent > & | tgrp, |
| bool | pred | ||
| ) |
Binary partition.
This splits the input thread group into two partitions determined by predicate.
- Template Parameters
-
size The size of the input thread block tile group. parent The cooperative group class template parameter of the input group.
- Parameters
-
tgrp [in] The thread block tile group for split. pred [in] The predicate used during the group split up.
◆ coalesced_threads()
| coalesced_group cooperative_groups::coalesced_threads | ( | ) |
User-exposed API to create coalesced groups.
A collective operation that groups all active lanes into a new thread group.
- Note
- This function is implemented on Linux and is under development on Microsoft Windows.
◆ this_grid()
| grid_group cooperative_groups::this_grid | ( | ) |
User-exposed API interface to construct grid cooperative group type object - grid_group.
User is not allowed to construct an object of type grid_group directly. Instead, they should construct it through this API function.
- Note
- This function is implemented on Linux and is under development on Microsoft Windows.
◆ this_multi_grid()
| multi_grid_group cooperative_groups::this_multi_grid | ( | ) |
User-exposed API interface to construct grid cooperative group type object - multi_grid_group.
User is not allowed to construct an object of type multi_grid_group directly. Instead, they should construct it through this API function.
- Note
- This multi-grid cooperative API type is implemented on Linux, under development on Microsoft Windows.
◆ this_thread_block()
| thread_block cooperative_groups::this_thread_block | ( | ) |
User-exposed API interface to construct workgroup cooperative group type object - thread_block.
User is not allowed to construct an object of type thread_block directly. Instead, they should construct it through this API function.
- Note
- This function is implemented on Linux and is under development on Microsoft Windows.
◆ tiled_partition() [1/2]
| thread_block_tile< size, ParentCGTy > cooperative_groups::tiled_partition | ( | const ParentCGTy & | g | ) |
Create a partition.
This constructs a templated class derived from thread_group. The template defines the tile size of the new thread group at compile time.
- Template Parameters
-
size The new size of the partition. ParentCGTy The cooperative group class template parameter of the input group.
- Parameters
-
g [in] The coalesced group for split.
◆ tiled_partition() [2/2]
| thread_group cooperative_groups::tiled_partition | ( | const thread_group & | parent, |
| unsigned int | tile_size | ||
| ) |
User-exposed API to partition groups.
A collective operation that partitions the parent group into a one-dimensional, row-major, tiling of subgroups.