Core APIs defining main vector data types and their interfaces. More...
Modules | |
C++ binary operators overloads for ESIMD. | |
Standard C++ binary operators overloads applicable to simd_obj_impl derivatives - simd , simd_mask , simd_view and their combinations. The following overloads are defined: | |
Alignment control. | |
Alignment type tags and related APIs for use with ESIMD memory access operations. The basic restrictions for memory location specified as parameters for memory access APIs supporting alignment control are as follows: | |
Main vector data types. | |
ESIMD defines the following two main vector data types: | |
Namespaces | |
sycl::_V1::ext::intel::esimd::detail | |
sycl::_V1::ext::intel::experimental::esimd::detail | |
Classes | |
struct | sycl::_V1::ext::intel::esimd::saturation_on_tag |
Gen hardware supports applying saturation to results of certain operations. More... | |
struct | sycl::_V1::ext::intel::esimd::saturation_off_tag |
This type tag represents "saturation off" behavior. More... | |
Macros | |
#define | __ESIMD_USM_DWORD_ATOMIC_TO_LSC |
Typedefs | |
using | sycl::_V1::ext::intel::esimd::uchar = unsigned char |
using | sycl::_V1::ext::intel::esimd::ushort = unsigned short |
using | sycl::_V1::ext::intel::esimd::uint = unsigned int |
using | sycl::_V1::ext::intel::esimd::SurfaceIndex = unsigned int |
Surface index type. More... | |
Functions | |
constexpr int | sycl::_V1::ext::intel::esimd::is_channel_enabled (rgba_channel_mask M, rgba_channel Ch) |
constexpr int | sycl::_V1::ext::intel::esimd::get_num_channels_enabled (rgba_channel_mask M) |
Variables | |
static constexpr saturation_off_tag | sycl::_V1::ext::intel::esimd::saturation_off {} |
Type tag object representing "saturation off" behavior. More... | |
static constexpr saturation_on_tag | sycl::_V1::ext::intel::esimd::saturation_on {} |
Type tag object representing "saturation on" behavior. More... | |
Core APIs defining main vector data types and their interfaces.
#define __ESIMD_USM_DWORD_ATOMIC_TO_LSC |
Definition at line 140 of file common.hpp.
using sycl::_V1::ext::intel::esimd::SurfaceIndex = typedef unsigned int |
Surface index type.
Surface is an internal representation of a memory block addressable by GPU in "stateful" memory model, and each surface is identified by its "binding table index" - surface index.
Definition at line 64 of file common.hpp.
using sycl::_V1::ext::intel::esimd::uchar = typedef unsigned char |
Definition at line 41 of file common.hpp.
using sycl::_V1::ext::intel::esimd::uint = typedef unsigned int |
Definition at line 43 of file common.hpp.
using sycl::_V1::ext::intel::esimd::ushort = typedef unsigned short |
Definition at line 42 of file common.hpp.
|
strong |
Represents an atomic operation.
Operations always return the old value(s) of the target memory location(s) as it was before the operation was applied. Each operation is annotated with a pseudocode illustrating its semantics, addr
is a memory address (one of the many, as the atomic operation is vector) the operation is applied at, src0
is its first argumnet, src1
- second.
Definition at line 150 of file common.hpp.
|
strong |
L1 or L3 cache hint kinds.
Enumerator | |
---|---|
none | |
uncached | |
cached | |
write_back | |
write_through | |
streaming | |
read_invalidate |
Definition at line 215 of file common.hpp.
|
strong |
Data size or format to read or store.
Enumerator | |
---|---|
default_size | |
u8 | |
u16 | |
u32 | |
u64 | |
u8u32 | |
u16u32 | load 8b, zero extend to 32b; store the opposite |
u16u32h | load 16b, zero extend to 32b; store the opposite |
Definition at line 61 of file common.hpp.
|
strong |
The lsc_fence operation to apply to caches Supported platforms: DG2, PVC.
Definition at line 41 of file common.hpp.
|
strong |
The specific LSC shared function to fence with lsc_fence Supported platforms: DG2, PVC.
Enumerator | |
---|---|
untyped_global | |
untyped_global_low_pri | untyped global memory |
typed_global | low-priority untyped global memory |
shared_local | typed global memory |
Definition at line 53 of file common.hpp.
|
strong |
The scope that lsc_fence operation should apply to Supported platforms: DG2, PVC.
Definition at line 29 of file common.hpp.
|
strong |
|
strong |
Represents a pixel's channel mask - all possible combinations of enabled channels.
Enumerator | |
---|---|
R | |
G | |
GR | |
B | |
BR | |
BG | |
BGR | |
A | |
AR | |
AG | |
AGR | |
AB | |
ABR | |
ABG | |
ABGR |
Definition at line 110 of file common.hpp.
|
strong |
|
constexpr |
Definition at line 133 of file common.hpp.
References sycl::_V1::ext::intel::esimd::A, sycl::_V1::ext::intel::esimd::B, sycl::_V1::ext::intel::esimd::G, sycl::_V1::ext::intel::esimd::is_channel_enabled(), and sycl::_V1::ext::intel::esimd::R.
|
constexpr |
Definition at line 128 of file common.hpp.
Referenced by sycl::_V1::ext::intel::esimd::get_num_channels_enabled().
|
inlinestaticconstexpr |
Type tag object representing "saturation off" behavior.
Definition at line 53 of file common.hpp.
|
inlinestaticconstexpr |
Type tag object representing "saturation on" behavior.
Definition at line 56 of file common.hpp.