DPC++ Runtime
Runtime libraries for oneAPI DPC++
Main vector data types.

ESIMD defines the following two main vector data types: More...

Collaboration diagram for Main vector data types.:

Classes

class  cl::__ESIMD_DNS::simd_mask_impl< T, N >
 This class is a simd_obj_impl specialization representing a simd mask, which is basically a simd_obj_impl with fixed element type and limited set of APIs. More...
 
class  cl::sycl::ext::intel::esimd::detail::simd_obj_impl< RawTy, N, Derived, SFINAE >
 This is a base class for all ESIMD simd classes with real storage (simd, simd_mask_impl). More...
 
class  cl::__ESIMD_DNS::simd_view_impl< BaseTy, RegionTy >
 Base class for "simd view" types. More...
 
class  cl::sycl::ext::intel::esimd::simd< Ty, N >
 The main simd vector class. More...
 
class  cl::sycl::ext::intel::esimd::simd_view< BaseTy, RegionTy >
 This class represents a reference to a sub-region of a base simd object. More...
 
class  cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >
 This is a specialization of simd_view class with a single element. More...
 
class  cl::sycl::ext::intel::esimd::simd_view< BaseTy, std::pair< region1d_scalar_t< ViewedElemT >, NestedRegion > >
 This is a specialization of nested simd_view class with a single element. More...
 

Macros

#define __ESIMD_DEF_SCALAR_SIMD_VIEW_RELOP(RELOP)
 

Typedefs

template<int N>
using cl::sycl::ext::intel::esimd::simd_mask = detail::simd_mask_type< N >
 Represents a simd mask os size N. More...
 

Detailed Description

ESIMD defines the following two main vector data types:

Macro Definition Documentation

◆ __ESIMD_DEF_SCALAR_SIMD_VIEW_RELOP

#define __ESIMD_DEF_SCALAR_SIMD_VIEW_RELOP (   RELOP)
Value:
/* simd_view RELOP simd_view */ \
ESIMD_INLINE friend bool operator RELOP(const simd_view &X, \
const simd_view &Y) { \
return (element_type)X RELOP(element_type) Y; \
} \
\
/* simd_view RELOP SCALAR */ \
template <typename T1, \
std::enable_if_t<detail::is_valid_simd_elem_type_v<T1>>> \
ESIMD_INLINE friend bool operator RELOP(const simd_view &X, T1 Y) { \
return (element_type)X RELOP Y; \
} \
\
/* SCALAR RELOP simd_view */ \
template <typename T1, \
std::enable_if_t<detail::is_valid_simd_elem_type_v<T1>>> \
ESIMD_INLINE friend bool operator RELOP(T1 X, const simd_view &Y) { \
return X RELOP(element_type) Y; \
}

Definition at line 98 of file simd_view.hpp.

Typedef Documentation

◆ simd_mask

template<int N>
using cl::sycl::ext::intel::esimd::simd_mask = typedef detail::simd_mask_type<N>

Represents a simd mask os size N.

This is basically an alias of the detail::simd_mask_impl class.

Definition at line 196 of file simd.hpp.