DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl::ext::oneapi::sub_group_mask Struct Reference

#include <sycl/ext/oneapi/sub_group_mask.hpp>

Collaboration diagram for cl::sycl::ext::oneapi::sub_group_mask:

Classes

struct  reference
 

Public Member Functions

bool operator[] (id< 1 > id) const
 
reference operator[] (id< 1 > id)
 
bool test (id< 1 > id) const
 
bool all () const
 
bool any () const
 
bool none () const
 
uint32_t count () const
 
uint32_t size () const
 
id< 1 > find_low () const
 
id< 1 > find_high () const
 
template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void insert_bits (Type bits, id< 1 > pos=0)
 
template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void insert_bits (const marray< Type, Size > &bits, id< 1 > pos=0)
 
template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void extract_bits (Type &bits, id< 1 > pos=0) const
 
template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void extract_bits (marray< Type, Size > &bits, id< 1 > pos=0) const
 
void set ()
 
void set (id< 1 > id, bool value=true)
 
void reset ()
 
void reset (id< 1 > id)
 
void reset_low ()
 
void reset_high ()
 
void flip ()
 
void flip (id< 1 > id)
 
bool operator== (const sub_group_mask &rhs) const
 
bool operator!= (const sub_group_mask &rhs) const
 
sub_group_maskoperator&= (const sub_group_mask &rhs)
 
sub_group_maskoperator|= (const sub_group_mask &rhs)
 
sub_group_maskoperator^= (const sub_group_mask &rhs)
 
sub_group_maskoperator<<= (size_t pos)
 
sub_group_maskoperator>>= (size_t pos)
 
sub_group_mask operator~ () const
 
sub_group_mask operator<< (size_t pos) const
 
sub_group_mask operator>> (size_t pos) const
 
 sub_group_mask (const sub_group_mask &rhs)
 

Static Public Attributes

static constexpr size_t max_bits = 32
 
static constexpr size_t word_size = sizeof(uint32_t) * CHAR_BIT
 

Friends

class detail::Builder
 
template<typename Group >
detail::enable_if_t< std::is_same< std::decay_t< Group >, sub_group >::value, sub_group_maskgroup_ballot (Group g, bool predicate)
 
sub_group_mask operator& (const sub_group_mask &lhs, const sub_group_mask &rhs)
 
sub_group_mask operator| (const sub_group_mask &lhs, const sub_group_mask &rhs)
 
sub_group_mask operator^ (const sub_group_mask &lhs, const sub_group_mask &rhs)
 

Detailed Description

Definition at line 26 of file sub_group_mask.hpp.

Constructor & Destructor Documentation

◆ sub_group_mask()

cl::sycl::ext::oneapi::sub_group_mask::sub_group_mask ( const sub_group_mask rhs)
inline

Definition at line 213 of file sub_group_mask.hpp.

Member Function Documentation

◆ all()

bool cl::sycl::ext::oneapi::sub_group_mask::all ( ) const
inline

Definition at line 69 of file sub_group_mask.hpp.

◆ any()

bool cl::sycl::ext::oneapi::sub_group_mask::any ( ) const
inline

Definition at line 70 of file sub_group_mask.hpp.

◆ count()

uint32_t cl::sycl::ext::oneapi::sub_group_mask::count ( ) const
inline

Definition at line 72 of file sub_group_mask.hpp.

◆ extract_bits() [1/2]

template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void cl::sycl::ext::oneapi::sub_group_mask::extract_bits ( marray< Type, Size > &  bits,
id< 1 >  pos = 0 
) const
inline

Definition at line 147 of file sub_group_mask.hpp.

◆ extract_bits() [2/2]

template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void cl::sycl::ext::oneapi::sub_group_mask::extract_bits ( Type &  bits,
id< 1 >  pos = 0 
) const
inline

Definition at line 128 of file sub_group_mask.hpp.

◆ find_high()

id<1> cl::sycl::ext::oneapi::sub_group_mask::find_high ( ) const
inline

Definition at line 88 of file sub_group_mask.hpp.

◆ find_low()

id<1> cl::sycl::ext::oneapi::sub_group_mask::find_low ( ) const
inline

Definition at line 82 of file sub_group_mask.hpp.

◆ flip() [1/2]

void cl::sycl::ext::oneapi::sub_group_mask::flip ( )
inline

Definition at line 165 of file sub_group_mask.hpp.

Referenced by operator~().

◆ flip() [2/2]

void cl::sycl::ext::oneapi::sub_group_mask::flip ( id< 1 >  id)
inline

Definition at line 166 of file sub_group_mask.hpp.

◆ insert_bits() [1/2]

template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void cl::sycl::ext::oneapi::sub_group_mask::insert_bits ( const marray< Type, Size > &  bits,
id< 1 >  pos = 0 
)
inline

Definition at line 116 of file sub_group_mask.hpp.

◆ insert_bits() [2/2]

template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void cl::sycl::ext::oneapi::sub_group_mask::insert_bits ( Type  bits,
id< 1 >  pos = 0 
)
inline

Definition at line 97 of file sub_group_mask.hpp.

◆ none()

bool cl::sycl::ext::oneapi::sub_group_mask::none ( ) const
inline

Definition at line 71 of file sub_group_mask.hpp.

◆ operator!=()

bool cl::sycl::ext::oneapi::sub_group_mask::operator!= ( const sub_group_mask rhs) const
inline

Definition at line 169 of file sub_group_mask.hpp.

◆ operator&=()

sub_group_mask& cl::sycl::ext::oneapi::sub_group_mask::operator&= ( const sub_group_mask rhs)
inline

Definition at line 171 of file sub_group_mask.hpp.

◆ operator<<()

sub_group_mask cl::sycl::ext::oneapi::sub_group_mask::operator<< ( size_t  pos) const
inline

Definition at line 202 of file sub_group_mask.hpp.

◆ operator<<=()

sub_group_mask& cl::sycl::ext::oneapi::sub_group_mask::operator<<= ( size_t  pos)
inline

Definition at line 186 of file sub_group_mask.hpp.

◆ operator==()

bool cl::sycl::ext::oneapi::sub_group_mask::operator== ( const sub_group_mask rhs) const
inline

Definition at line 168 of file sub_group_mask.hpp.

◆ operator>>()

sub_group_mask cl::sycl::ext::oneapi::sub_group_mask::operator>> ( size_t  pos) const
inline

Definition at line 207 of file sub_group_mask.hpp.

◆ operator>>=()

sub_group_mask& cl::sycl::ext::oneapi::sub_group_mask::operator>>= ( size_t  pos)
inline

Definition at line 192 of file sub_group_mask.hpp.

◆ operator[]() [1/2]

reference cl::sycl::ext::oneapi::sub_group_mask::operator[] ( id< 1 >  id)
inline

Definition at line 67 of file sub_group_mask.hpp.

◆ operator[]() [2/2]

bool cl::sycl::ext::oneapi::sub_group_mask::operator[] ( id< 1 >  id) const
inline

Definition at line 63 of file sub_group_mask.hpp.

References std::get().

◆ operator^=()

sub_group_mask& cl::sycl::ext::oneapi::sub_group_mask::operator^= ( const sub_group_mask rhs)
inline

Definition at line 180 of file sub_group_mask.hpp.

◆ operator|=()

sub_group_mask& cl::sycl::ext::oneapi::sub_group_mask::operator|= ( const sub_group_mask rhs)
inline

Definition at line 175 of file sub_group_mask.hpp.

◆ operator~()

sub_group_mask cl::sycl::ext::oneapi::sub_group_mask::operator~ ( ) const
inline

Definition at line 197 of file sub_group_mask.hpp.

References flip().

◆ reset() [1/2]

void cl::sycl::ext::oneapi::sub_group_mask::reset ( )
inline

Definition at line 161 of file sub_group_mask.hpp.

◆ reset() [2/2]

void cl::sycl::ext::oneapi::sub_group_mask::reset ( id< 1 >  id)
inline

Definition at line 162 of file sub_group_mask.hpp.

◆ reset_high()

void cl::sycl::ext::oneapi::sub_group_mask::reset_high ( )
inline

Definition at line 164 of file sub_group_mask.hpp.

◆ reset_low()

void cl::sycl::ext::oneapi::sub_group_mask::reset_low ( )
inline

Definition at line 163 of file sub_group_mask.hpp.

◆ set() [1/2]

void cl::sycl::ext::oneapi::sub_group_mask::set ( )
inline

Definition at line 159 of file sub_group_mask.hpp.

◆ set() [2/2]

void cl::sycl::ext::oneapi::sub_group_mask::set ( id< 1 >  id,
bool  value = true 
)
inline

Definition at line 160 of file sub_group_mask.hpp.

◆ size()

uint32_t cl::sycl::ext::oneapi::sub_group_mask::size ( ) const
inline

Definition at line 81 of file sub_group_mask.hpp.

◆ test()

bool cl::sycl::ext::oneapi::sub_group_mask::test ( id< 1 >  id) const
inline

Definition at line 68 of file sub_group_mask.hpp.

Friends And Related Function Documentation

◆ detail::Builder

friend class detail::Builder
friend

Definition at line 27 of file sub_group_mask.hpp.

◆ group_ballot

template<typename Group >
detail::enable_if_t< std::is_same<std::decay_t<Group>, sub_group>::value, sub_group_mask> group_ballot ( Group  g,
bool  predicate 
)
friend

Definition at line 257 of file sub_group_mask.hpp.

◆ operator&

sub_group_mask operator& ( const sub_group_mask lhs,
const sub_group_mask rhs 
)
friend

Definition at line 221 of file sub_group_mask.hpp.

◆ operator^

sub_group_mask operator^ ( const sub_group_mask lhs,
const sub_group_mask rhs 
)
friend

Definition at line 235 of file sub_group_mask.hpp.

◆ operator|

sub_group_mask operator| ( const sub_group_mask lhs,
const sub_group_mask rhs 
)
friend

Definition at line 228 of file sub_group_mask.hpp.

Member Data Documentation

◆ max_bits

constexpr size_t cl::sycl::ext::oneapi::sub_group_mask::max_bits = 32
staticconstexpr

Definition at line 28 of file sub_group_mask.hpp.

◆ word_size

constexpr size_t cl::sycl::ext::oneapi::sub_group_mask::word_size = sizeof(uint32_t) * CHAR_BIT
staticconstexpr

Definition at line 29 of file sub_group_mask.hpp.


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