cluster_group Class Reference

cluster_group Class Reference#

HIP Runtime API Reference: cooperative_groups::cluster_group Class Reference
cooperative_groups::cluster_group Class Reference

Cluster group. More...

#include <amd_hip_cooperative_groups.h>

Public Types

using arrival_token = {}
 

Static Public Member Functions

static void sync ()
 
static arrival_token barrier_arrive ()
 
static void barrier_wait (arrival_token &&)
 
static dim3 block_index ()
 
static unsigned int block_rank ()
 
static dim3 thread_index ()
 
static unsigned int thread_rank ()
 
static dim3 dim_blocks ()
 
static unsigned int num_blocks ()
 
static dim3 dim_threads ()
 
static unsigned int num_threads ()
 
template<typename T >
static T * map_shared_rank (T *in, int rank)
 
static unsigned int query_shared_rank (const void *in)
 
static unsigned int size ()
 

Friends

cluster_group this_cluster ()
 get cluster group
 

Detailed Description

Cluster group.

Note
cluster can be 1D/2D/3D and have upto 15 workgroups in a cluster. Each cluster runs on a separate WGP processor. Sizing, cluster size is in workgroups, workgroups size is in threads.

Member Typedef Documentation

◆ arrival_token

Member Function Documentation

◆ barrier_arrive()

static arrival_token cooperative_groups::cluster_group::barrier_arrive ( )
inlinestatic

◆ barrier_wait()

static void cooperative_groups::cluster_group::barrier_wait ( arrival_token &&  )
inlinestatic

◆ block_index()

static dim3 cooperative_groups::cluster_group::block_index ( )
inlinestatic

◆ block_rank()

static unsigned int cooperative_groups::cluster_group::block_rank ( )
inlinestatic

◆ dim_blocks()

static dim3 cooperative_groups::cluster_group::dim_blocks ( )
inlinestatic

◆ dim_threads()

static dim3 cooperative_groups::cluster_group::dim_threads ( )
inlinestatic

◆ map_shared_rank()

template<typename T >
static T * cooperative_groups::cluster_group::map_shared_rank ( T *  in,
int  rank 
)
inlinestatic

◆ num_blocks()

static unsigned int cooperative_groups::cluster_group::num_blocks ( )
inlinestatic

◆ num_threads()

static unsigned int cooperative_groups::cluster_group::num_threads ( )
inlinestatic

◆ query_shared_rank()

static unsigned int cooperative_groups::cluster_group::query_shared_rank ( const void *  in)
inlinestatic

◆ size()

static unsigned int cooperative_groups::cluster_group::size ( )
inlinestatic

◆ sync()

static void cooperative_groups::cluster_group::sync ( )
inlinestatic

◆ thread_index()

static dim3 cooperative_groups::cluster_group::thread_index ( )
inlinestatic

◆ thread_rank()

static unsigned int cooperative_groups::cluster_group::thread_rank ( )
inlinestatic

Friends And Related Symbol Documentation

◆ this_cluster

cluster_group this_cluster ( )
friend

get cluster group

Returns
cluster_group

The documentation for this class was generated from the following file: