Skip to main content

class group

Declaration

template <int Dims = 1>
class group { /* full declaration omitted */ };

Template Parameters

int Dims = 1

Member Variables

static const int dimensions = Dims
static const memory_scope fence_scope = memory_scope_work_group
sycl::group<sycl_dims> m_sycl_group
id<Dims> m_group_id
range<Dims> m_group_range
static const int sycl_dims = std::max(1, Dims)

Member Aliases

  • using id_type = id<Dims>;
  • using linear_id_type = size_t;
  • using range_type = range<Dims>;

Member Function Overview

Member Functions

template <typename T>
sycl::device_event async_work_group_copy(
    decorated_global_ptr<T> dest,
    decorated_local_ptr<T> src,
    size_t num_elements,
    size_t dest_stride) const

Template Parameters

T

Parameters

decorated_global_ptr<T> dest
decorated_local_ptr<T> src
size_t num_elements
size_t dest_stride

template <typename T>
sycl::device_event async_work_group_copy(
    decorated_local_ptr<T> dest,
    decorated_global_ptr<T> src,
    size_t num_elements,
    size_t src_stride) const

Template Parameters

T

Parameters

decorated_local_ptr<T> dest
decorated_global_ptr<T> src
size_t num_elements
size_t src_stride

template <typename T>
sycl::device_event async_work_group_copy(
    decorated_global_ptr<T> dest,
    decorated_local_ptr<T> src,
    size_t num_elements) const

Template Parameters

T

Parameters

decorated_global_ptr<T> dest
decorated_local_ptr<T> src
size_t num_elements

template <typename T>
sycl::device_event async_work_group_copy(
    decorated_local_ptr<T> dest,
    decorated_global_ptr<T> src,
    size_t num_elements) const

Template Parameters

T

Parameters

decorated_local_ptr<T> dest
decorated_global_ptr<T> src
size_t num_elements

size_t get_group_id(int dimension) const

Parameters

int dimension

id<Dims> get_group_id() const


size_t get_group_linear_id() const


size_t get_group_linear_range() const


size_t get_group_range(int dimension) const

Parameters

int dimension

range<Dims> get_group_range() const


size_t get_local_id(int dimension) const

Parameters

int dimension

id<Dims> get_local_id() const


size_t get_local_linear_id() const


size_t get_local_linear_range() const


size_t get_local_range(int dimension) const

Parameters

int dimension

range<Dims> get_local_range() const


range<Dims> get_max_local_range() const


bool leader() const


size_t operator[](int dimension) const

Parameters

int dimension

template <typename... DeviceEvents>
void wait_for(DeviceEvents... events) const

Template Parameters

DeviceEvents

Parameters

DeviceEvents... events

explicit group(
    const sycl::group<sycl_dims>& sycl_group,
    const id<Dims>& group_id,
    const range<Dims>& group_range)

Parameters

const sycl::group<sycl_dims>& sycl_group
const id<Dims>& group_id
const range<Dims>& group_range