DPC++ Runtime
Runtime libraries for oneAPI DPC++
memory_intrin.hpp
Go to the documentation of this file.
1 //==------------ memory_intrin.hpp - DPC++ Explicit SIMD API ---------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 // Declares experimental memory Explicit SIMD intrinsics.
9 //===----------------------------------------------------------------------===//
10 
12 
13 #pragma once
14 
18 
19 // generic work-group split barrier
20 __ESIMD_INTRIN void
21 __esimd_sbarrier(__ESIMD_ENS::split_barrier_action flag) __ESIMD_INTRIN_END;
22 
23 #ifdef __SYCL_DEVICE_ONLY__
24 // Create an explicit data and GPU scoreboard dependency.
25 __ESIMD_INTRIN void __esimd_wait(uint16_t value);
26 #endif // __SYCL_DEVICE_ONLY__
27 
36 __ESIMD_INTRIN void __esimd_nbarrier(uint8_t mode, uint8_t id,
37  uint8_t thread_count) __ESIMD_INTRIN_END;
38 
43 __ESIMD_INTRIN void __esimd_nbarrier_init(uint8_t count) __ESIMD_INTRIN_END;
44 
60 template <typename Ty, int N>
61 __ESIMD_INTRIN void __esimd_raw_send_nbarrier_signal(
62  uint32_t is_sendc, uint32_t extended_descriptor, uint32_t descriptor,
63  __ESIMD_DNS::vector_type_t<Ty, N> msg_var,
64  uint16_t pred = 1) __ESIMD_INTRIN_END;
65 
75 __ESIMD_INTRIN void
76 __esimd_nbarrier_arrive(uint8_t id, uint8_t thread_role, uint8_t num_producers,
77  uint8_t num_consumers) __ESIMD_INTRIN_END;
78 
87 template <__ESIMD_ENS::lsc_memory_kind Kind, __ESIMD_ENS::lsc_fence_op FenceOp,
88  __ESIMD_ENS::lsc_scope Scope, int N>
89 __ESIMD_INTRIN void
90 __esimd_lsc_fence(__ESIMD_DNS::simd_mask_storage_t<N> pred) __ESIMD_INTRIN_END;
91 
92 __ESIMD_INTRIN uint32_t __esimd_slm_alloc(uint32_t size) __ESIMD_INTRIN_END;
93 
94 __ESIMD_INTRIN void __esimd_slm_free(uint32_t id) __ESIMD_INTRIN_END;
95 
split_barrier_action
Represents a split barrier action.
Definition: common.hpp:111