You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[ESIMD][NFC][DOC] Add fence to the ESIMD SPEC functions (#13135)
It also adds a deprecated warning for l3_flush_instructions,
l3_flush_texture_data, l3_flush_constant_data, l3_flush_rw_data enums as
they in fact refer to L2 cache, not L3. Corresponding l2_* enums were
added.
---------
Signed-off-by: Klochkov, Vyacheslav N <[email protected]>
`(usm-pf-1,2,3,4,5,6)`: Prefetches the memory locations addressed by the base USM pointer `ptr` and the vector of any integral type byte-offsets `byte_offsets`.
@@ -631,6 +638,79 @@ The `byte_offsets` is a vector of any integral type elements, limited in [statef
631
638
`(usm-pf-*)`, `(acc-pf-*)`: The [compile-time properties](#compile-time-properties) list `props` must specify `cache-hints`.
632
639
633
640
641
+
## fence(...) - set the memory read/write order
642
+
```C++
643
+
namespacesycl::ext::intel::esimd {
644
+
enum fence_mask : uint8_t {
645
+
/// “Commit enable” - wait for fence to complete before continuing.
646
+
global_coherent_fence = 0x1,
647
+
/// Flush the instruction cache.
648
+
l2_flush_instructions = 0x2,
649
+
/// Flush sampler (texture) cache.
650
+
l2_flush_texture_data = 0x4,
651
+
/// Flush constant cache.
652
+
l2_flush_constant_data = 0x8,
653
+
/// Flush constant cache.
654
+
l2_flush_rw_data = 0x10,
655
+
/// Issue SLM memory barrier only. If not set, the memory barrier is global.
`(fence-1)`: Sets the memory read/write order. This function has pretty limited functionality compared to `(fence-2)`. It accepts an 8-bit `ctrl_mask` containing one or more `fence_mask` enum values in it. It can be used for any Intel GPU.
711
+
712
+
`(fence-2)`: Sets the memory read/write order. This function provide a bit more flexible controls comparing to `(fence-1)`, but requires `Intel® Arc Series` (aka `DG2`) or `Intel® Data Center GPU Max Series` (aka `PVC`) to run.
0 commit comments