DPC++ Runtime
Runtime libraries for oneAPI DPC++
|
|
Go to the documentation of this file.
7 namespace ext::oneapi::experimental {
92 ext::oneapi::experimental::architecture::amd_gpu_gfx1034;
94 #ifndef __SYCL_TARGET_INTEL_X86_64__
95 #define __SYCL_TARGET_INTEL_X86_64__ 0
97 #ifndef __SYCL_TARGET_INTEL_GPU_BDW__
98 #define __SYCL_TARGET_INTEL_GPU_BDW__ 0
100 #ifndef __SYCL_TARGET_INTEL_GPU_SKL__
101 #define __SYCL_TARGET_INTEL_GPU_SKL__ 0
103 #ifndef __SYCL_TARGET_INTEL_GPU_KBL__
104 #define __SYCL_TARGET_INTEL_GPU_KBL__ 0
106 #ifndef __SYCL_TARGET_INTEL_GPU_CFL__
107 #define __SYCL_TARGET_INTEL_GPU_CFL__ 0
109 #ifndef __SYCL_TARGET_INTEL_GPU_APL__
110 #define __SYCL_TARGET_INTEL_GPU_APL__ 0
112 #ifndef __SYCL_TARGET_INTEL_GPU_GLK__
113 #define __SYCL_TARGET_INTEL_GPU_GLK__ 0
115 #ifndef __SYCL_TARGET_INTEL_GPU_WHL__
116 #define __SYCL_TARGET_INTEL_GPU_WHL__ 0
118 #ifndef __SYCL_TARGET_INTEL_GPU_AML__
119 #define __SYCL_TARGET_INTEL_GPU_AML__ 0
121 #ifndef __SYCL_TARGET_INTEL_GPU_CML__
122 #define __SYCL_TARGET_INTEL_GPU_CML__ 0
124 #ifndef __SYCL_TARGET_INTEL_GPU_ICLLP__
125 #define __SYCL_TARGET_INTEL_GPU_ICLLP__ 0
127 #ifndef __SYCL_TARGET_INTEL_GPU_EHL__
128 #define __SYCL_TARGET_INTEL_GPU_EHL__ 0
130 #ifndef __SYCL_TARGET_INTEL_GPU_TGLLP__
131 #define __SYCL_TARGET_INTEL_GPU_TGLLP__ 0
133 #ifndef __SYCL_TARGET_INTEL_GPU_RKL__
134 #define __SYCL_TARGET_INTEL_GPU_RKL__ 0
136 #ifndef __SYCL_TARGET_INTEL_GPU_ADL_S__
137 #define __SYCL_TARGET_INTEL_GPU_ADL_S__ 0
139 #ifndef __SYCL_TARGET_INTEL_GPU_RPL_S__
140 #define __SYCL_TARGET_INTEL_GPU_RPL_S__ 0
142 #ifndef __SYCL_TARGET_INTEL_GPU_ADL_P__
143 #define __SYCL_TARGET_INTEL_GPU_ADL_P__ 0
145 #ifndef __SYCL_TARGET_INTEL_GPU_ADL_N__
146 #define __SYCL_TARGET_INTEL_GPU_ADL_N__ 0
148 #ifndef __SYCL_TARGET_INTEL_GPU_DG1__
149 #define __SYCL_TARGET_INTEL_GPU_DG1__ 0
151 #ifndef __SYCL_TARGET_INTEL_GPU_ACM_G10__
152 #define __SYCL_TARGET_INTEL_GPU_ACM_G10__ 0
154 #ifndef __SYCL_TARGET_INTEL_GPU_ACM_G11__
155 #define __SYCL_TARGET_INTEL_GPU_ACM_G11__ 0
157 #ifndef __SYCL_TARGET_INTEL_GPU_ACM_G12__
158 #define __SYCL_TARGET_INTEL_GPU_ACM_G12__ 0
160 #ifndef __SYCL_TARGET_INTEL_GPU_PVC__
161 #define __SYCL_TARGET_INTEL_GPU_PVC__ 0
163 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM50__
164 #define __SYCL_TARGET_NVIDIA_GPU_SM50__ 0
166 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM52__
167 #define __SYCL_TARGET_NVIDIA_GPU_SM52__ 0
169 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM53__
170 #define __SYCL_TARGET_NVIDIA_GPU_SM53__ 0
172 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM60__
173 #define __SYCL_TARGET_NVIDIA_GPU_SM60__ 0
175 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM61__
176 #define __SYCL_TARGET_NVIDIA_GPU_SM61__ 0
178 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM62__
179 #define __SYCL_TARGET_NVIDIA_GPU_SM62__ 0
181 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM70__
182 #define __SYCL_TARGET_NVIDIA_GPU_SM70__ 0
184 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM72__
185 #define __SYCL_TARGET_NVIDIA_GPU_SM72__ 0
187 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM75__
188 #define __SYCL_TARGET_NVIDIA_GPU_SM75__ 0
190 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM80__
191 #define __SYCL_TARGET_NVIDIA_GPU_SM80__ 0
193 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM86__
194 #define __SYCL_TARGET_NVIDIA_GPU_SM86__ 0
196 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM87__
197 #define __SYCL_TARGET_NVIDIA_GPU_SM87__ 0
199 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM89__
200 #define __SYCL_TARGET_NVIDIA_GPU_SM89__ 0
202 #ifndef __SYCL_TARGET_NVIDIA_GPU_SM90__
203 #define __SYCL_TARGET_NVIDIA_GPU_SM90__ 0
205 #ifndef __SYCL_TARGET_AMD_GPU_GFX700__
206 #define __SYCL_TARGET_AMD_GPU_GFX700__ 0
208 #ifndef __SYCL_TARGET_AMD_GPU_GFX701__
209 #define __SYCL_TARGET_AMD_GPU_GFX701__ 0
211 #ifndef __SYCL_TARGET_AMD_GPU_GFX702__
212 #define __SYCL_TARGET_AMD_GPU_GFX702__ 0
214 #ifndef __SYCL_TARGET_AMD_GPU_GFX801__
215 #define __SYCL_TARGET_AMD_GPU_GFX801__ 0
217 #ifndef __SYCL_TARGET_AMD_GPU_GFX802__
218 #define __SYCL_TARGET_AMD_GPU_GFX802__ 0
220 #ifndef __SYCL_TARGET_AMD_GPU_GFX803__
221 #define __SYCL_TARGET_AMD_GPU_GFX803__ 0
223 #ifndef __SYCL_TARGET_AMD_GPU_GFX805__
224 #define __SYCL_TARGET_AMD_GPU_GFX805__ 0
226 #ifndef __SYCL_TARGET_AMD_GPU_GFX810__
227 #define __SYCL_TARGET_AMD_GPU_GFX810__ 0
229 #ifndef __SYCL_TARGET_AMD_GPU_GFX900__
230 #define __SYCL_TARGET_AMD_GPU_GFX900__ 0
232 #ifndef __SYCL_TARGET_AMD_GPU_GFX902__
233 #define __SYCL_TARGET_AMD_GPU_GFX902__ 0
235 #ifndef __SYCL_TARGET_AMD_GPU_GFX904__
236 #define __SYCL_TARGET_AMD_GPU_GFX904__ 0
238 #ifndef __SYCL_TARGET_AMD_GPU_GFX906__
239 #define __SYCL_TARGET_AMD_GPU_GFX906__ 0
241 #ifndef __SYCL_TARGET_AMD_GPU_GFX908__
242 #define __SYCL_TARGET_AMD_GPU_GFX908__ 0
244 #ifndef __SYCL_TARGET_AMD_GPU_GFX90A__
245 #define __SYCL_TARGET_AMD_GPU_GFX90A__ 0
247 #ifndef __SYCL_TARGET_AMD_GPU_GFX1010__
248 #define __SYCL_TARGET_AMD_GPU_GFX1010__ 0
250 #ifndef __SYCL_TARGET_AMD_GPU_GFX1011__
251 #define __SYCL_TARGET_AMD_GPU_GFX1011__ 0
253 #ifndef __SYCL_TARGET_AMD_GPU_GFX1012__
254 #define __SYCL_TARGET_AMD_GPU_GFX1012__ 0
256 #ifndef __SYCL_TARGET_AMD_GPU_GFX1013__
257 #define __SYCL_TARGET_AMD_GPU_GFX1013__ 0
259 #ifndef __SYCL_TARGET_AMD_GPU_GFX1030__
260 #define __SYCL_TARGET_AMD_GPU_GFX1030__ 0
262 #ifndef __SYCL_TARGET_AMD_GPU_GFX1031__
263 #define __SYCL_TARGET_AMD_GPU_GFX1031__ 0
265 #ifndef __SYCL_TARGET_AMD_GPU_GFX1032__
266 #define __SYCL_TARGET_AMD_GPU_GFX1032__ 0
268 #ifndef __SYCL_TARGET_AMD_GPU_GFX1034__
269 #define __SYCL_TARGET_AMD_GPU_GFX1034__ 0
347 arr[
static_cast<int>(arch::intel_gpu_bdw)] =
349 arr[
static_cast<int>(arch::intel_gpu_skl)] =
351 arr[
static_cast<int>(arch::intel_gpu_kbl)] =
353 arr[
static_cast<int>(arch::intel_gpu_cfl)] =
355 arr[
static_cast<int>(arch::intel_gpu_apl)] =
357 arr[
static_cast<int>(arch::intel_gpu_glk)] =
359 arr[
static_cast<int>(arch::intel_gpu_whl)] =
361 arr[
static_cast<int>(arch::intel_gpu_aml)] =
363 arr[
static_cast<int>(arch::intel_gpu_cml)] =
365 arr[
static_cast<int>(arch::intel_gpu_icllp)] =
367 arr[
static_cast<int>(arch::intel_gpu_ehl)] =
369 arr[
static_cast<int>(arch::intel_gpu_tgllp)] =
371 arr[
static_cast<int>(arch::intel_gpu_rkl)] =
373 arr[
static_cast<int>(arch::intel_gpu_adl_s)] =
375 arr[
static_cast<int>(arch::intel_gpu_rpl_s)] =
377 arr[
static_cast<int>(arch::intel_gpu_adl_p)] =
379 arr[
static_cast<int>(arch::intel_gpu_adl_n)] =
381 arr[
static_cast<int>(arch::intel_gpu_dg1)] =
383 arr[
static_cast<int>(arch::intel_gpu_acm_g10)] =
385 arr[
static_cast<int>(arch::intel_gpu_acm_g11)] =
387 arr[
static_cast<int>(arch::intel_gpu_acm_g12)] =
389 arr[
static_cast<int>(arch::intel_gpu_pvc)] =
391 arr[
static_cast<int>(arch::nvidia_gpu_sm_50)] =
393 arr[
static_cast<int>(arch::nvidia_gpu_sm_52)] =
395 arr[
static_cast<int>(arch::nvidia_gpu_sm_53)] =
397 arr[
static_cast<int>(arch::nvidia_gpu_sm_60)] =
399 arr[
static_cast<int>(arch::nvidia_gpu_sm_61)] =
401 arr[
static_cast<int>(arch::nvidia_gpu_sm_62)] =
403 arr[
static_cast<int>(arch::nvidia_gpu_sm_70)] =
405 arr[
static_cast<int>(arch::nvidia_gpu_sm_72)] =
407 arr[
static_cast<int>(arch::nvidia_gpu_sm_75)] =
409 arr[
static_cast<int>(arch::nvidia_gpu_sm_80)] =
411 arr[
static_cast<int>(arch::nvidia_gpu_sm_86)] =
413 arr[
static_cast<int>(arch::nvidia_gpu_sm_87)] =
415 arr[
static_cast<int>(arch::nvidia_gpu_sm_89)] =
417 arr[
static_cast<int>(arch::nvidia_gpu_sm_90)] =
419 arr[
static_cast<int>(arch::amd_gpu_gfx700)] =
421 arr[
static_cast<int>(arch::amd_gpu_gfx701)] =
423 arr[
static_cast<int>(arch::amd_gpu_gfx702)] =
425 arr[
static_cast<int>(arch::amd_gpu_gfx801)] =
427 arr[
static_cast<int>(arch::amd_gpu_gfx802)] =
429 arr[
static_cast<int>(arch::amd_gpu_gfx803)] =
431 arr[
static_cast<int>(arch::amd_gpu_gfx805)] =
433 arr[
static_cast<int>(arch::amd_gpu_gfx810)] =
435 arr[
static_cast<int>(arch::amd_gpu_gfx900)] =
437 arr[
static_cast<int>(arch::amd_gpu_gfx902)] =
439 arr[
static_cast<int>(arch::amd_gpu_gfx904)] =
441 arr[
static_cast<int>(arch::amd_gpu_gfx906)] =
443 arr[
static_cast<int>(arch::amd_gpu_gfx908)] =
445 arr[
static_cast<int>(arch::amd_gpu_gfx90a)] =
447 arr[
static_cast<int>(arch::amd_gpu_gfx1010)] =
449 arr[
static_cast<int>(arch::amd_gpu_gfx1011)] =
451 arr[
static_cast<int>(arch::amd_gpu_gfx1012)] =
453 arr[
static_cast<int>(arch::amd_gpu_gfx1030)] =
455 arr[
static_cast<int>(arch::amd_gpu_gfx1031)] =
457 arr[
static_cast<int>(arch::amd_gpu_gfx1032)] =
459 arr[
static_cast<int>(arch::amd_gpu_gfx1034)] =
493 if constexpr (MakeCall && device_architecture_is<Archs...>()) {
502 template <
typename T,
typename... Args>
504 if constexpr (MakeCall) {
511 namespace ext::oneapi::experimental {
513 template <
architecture... Archs,
typename T,
typename... Args>
515 static_assert(sycl::detail::allowable_aot_mode<Archs...>(),
516 "The if_architecture_is function may only be used when AOT "
517 "compiling with '-fsycl-targets=spir64_x86_64' or "
518 "'-fsycl-targets=*_gpu_*'");
519 if constexpr (sycl::detail::device_architecture_is<Archs...>()) {
521 return sycl::detail::if_architecture_helper<false>{};
524 return sycl::detail::if_architecture_helper<true>{};
#define __SYCL_TARGET_AMD_GPU_GFX902__
#define __SYCL_TARGET_NVIDIA_GPU_SM52__
#define __SYCL_TARGET_NVIDIA_GPU_SM70__
#define __SYCL_TARGET_INTEL_GPU_AML__
constexpr static auto if_architecture_is(T fnTrue, Args... args)
#define __SYCL_TARGET_AMD_GPU_GFX1011__
#define __SYCL_TARGET_NVIDIA_GPU_SM72__
#define __SYCL_TARGET_INTEL_GPU_GLK__
#define __SYCL_TARGET_INTEL_GPU_ADL_S__
constexpr static bool device_architecture_is()
#define __SYCL_TARGET_NVIDIA_GPU_SM62__
#define __SYCL_TARGET_INTEL_X86_64__
#define __SYCL_TARGET_AMD_GPU_GFX1030__
#define __SYCL_INLINE_VER_NAMESPACE(X)
#define __SYCL_TARGET_AMD_GPU_GFX1034__
#define __SYCL_TARGET_NVIDIA_GPU_SM75__
#define __SYCL_TARGET_NVIDIA_GPU_SM60__
#define __SYCL_TARGET_AMD_GPU_GFX810__
#define __SYCL_TARGET_INTEL_GPU_EHL__
constexpr IsAOTForArchitectureClass()
#define __SYCL_TARGET_INTEL_GPU_RKL__
#define __SYCL_TARGET_INTEL_GPU_ICLLP__
#define __SYCL_TARGET_NVIDIA_GPU_SM90__
#define __SYCL_TARGET_INTEL_GPU_ADL_P__
#define __SYCL_TARGET_AMD_GPU_GFX1032__
---— Error handling, matching OpenCL plugin semantics.
#define __SYCL_TARGET_INTEL_GPU_DG1__
#define __SYCL_TARGET_NVIDIA_GPU_SM80__
#define __SYCL_TARGET_INTEL_GPU_KBL__
#define __SYCL_TARGET_AMD_GPU_GFX1012__
#define __SYCL_TARGET_NVIDIA_GPU_SM61__
#define __SYCL_TARGET_INTEL_GPU_BDW__
#define __SYCL_TARGET_INTEL_GPU_TGLLP__
#define __SYCL_TARGET_NVIDIA_GPU_SM89__
#define __SYCL_TARGET_INTEL_GPU_CFL__
#define __SYCL_TARGET_INTEL_GPU_APL__
#define __SYCL_TARGET_INTEL_GPU_ACM_G11__
#define __SYCL_TARGET_AMD_GPU_GFX801__
#define __SYCL_TARGET_AMD_GPU_GFX900__
#define __SYCL_TARGET_AMD_GPU_GFX908__
#define __SYCL_TARGET_INTEL_GPU_ADL_N__
constexpr void otherwise(T fn, Args... args)
#define __SYCL_TARGET_INTEL_GPU_ACM_G10__
#define __SYCL_TARGET_AMD_GPU_GFX1010__
#define __SYCL_TARGET_INTEL_GPU_PVC__
#define __SYCL_TARGET_AMD_GPU_GFX802__
#define __SYCL_TARGET_INTEL_GPU_WHL__
#define __SYCL_TARGET_AMD_GPU_GFX805__
#define __SYCL_TARGET_AMD_GPU_GFX90A__
#define __SYCL_TARGET_NVIDIA_GPU_SM87__
constexpr auto else_if_architecture_is(T fnTrue, Args... args)
bool arr[static_cast< int >(max_architecture)+1]
#define __SYCL_TARGET_AMD_GPU_GFX1031__
static constexpr IsAOTForArchitectureClass is_aot_for_architecture
#define __SYCL_TARGET_NVIDIA_GPU_SM86__
#define __SYCL_TARGET_AMD_GPU_GFX906__
#define __SYCL_TARGET_AMD_GPU_GFX803__
static constexpr ext::oneapi::experimental::architecture max_architecture
#define __SYCL_TARGET_AMD_GPU_GFX904__
#define __SYCL_TARGET_INTEL_GPU_SKL__
#define __SYCL_TARGET_NVIDIA_GPU_SM50__
static constexpr bool is_allowable_aot_mode
#define __SYCL_TARGET_AMD_GPU_GFX701__
#define __SYCL_TARGET_AMD_GPU_GFX700__
#define __SYCL_TARGET_INTEL_GPU_RPL_S__
#define __SYCL_TARGET_INTEL_GPU_ACM_G12__
#define __SYCL_TARGET_NVIDIA_GPU_SM53__
#define __SYCL_TARGET_INTEL_GPU_CML__
constexpr static bool allowable_aot_mode()
#define __SYCL_TARGET_AMD_GPU_GFX702__
#define __SYCL_TARGET_AMD_GPU_GFX1013__