DPC++ Runtime
Runtime libraries for oneAPI DPC++
feature_test.hpp
Go to the documentation of this file.
1 //==----- feature_test.hpp - SYCL Feature Test Definitions -----*- C++ -*---==//
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 
9 //
10 // IMPORTANT: feature_test.hpp is a generated file - DO NOT EDIT
11 // original definitions are in feature_test.hpp.in
12 //
13 
14 #pragma once
15 
17 
19 namespace sycl {
20 
21 #ifdef __clang__
22 #ifndef __has_extension
23 #define __has_extension(x) 0
24 #endif
25 #endif
26 
27 #define SYCL_BACKEND_OPENCL 1
28 
29 // Feature test macro definitions
30 
31 // TODO: Move these feature-test macros to compiler driver.
32 #define SYCL_EXT_INTEL_DEVICE_INFO 3
33 #define SYCL_EXT_ONEAPI_SUB_GROUP_MASK 1
34 #define SYCL_EXT_ONEAPI_LOCAL_MEMORY 1
35 // As for SYCL_EXT_ONEAPI_MATRIX:
36 // 1- provides AOT initial implementation for AMX for the experimental matrix
37 // extension
38 // 2- provides JIT implementation (target agnostic) for the
39 // experimental matrix extension
40 #ifndef SYCL_EXT_ONEAPI_MATRIX
41 #define SYCL_EXT_ONEAPI_MATRIX 2
42 #endif
43 #define SYCL_EXT_ONEAPI_ASSERT 1
44 #define SYCL_EXT_ONEAPI_COMPLEX_ALGORITHMS 1
45 #define SYCL_EXT_ONEAPI_DISCARD_QUEUE_EVENTS 1
46 #define SYCL_EXT_ONEAPI_ENQUEUE_BARRIER 1
47 #define SYCL_EXT_ONEAPI_FREE_FUNCTION_QUERIES 1
48 #define SYCL_EXT_ONEAPI_GROUP_ALGORITHMS 1
49 #define SYCL_EXT_ONEAPI_GROUP_SORT 1
50 #define SYCL_EXT_ONEAPI_MAX_WORK_GROUP_QUERY 1
51 #define SYCL_EXT_ONEAPI_ND_RANGE_REDUCTIONS 1
52 #define SYCL_EXT_ONEAPI_DEFAULT_CONTEXT 1
53 #define SYCL_EXT_ONEAPI_USE_PINNED_HOST_MEMORY_PROPERTY 1
54 #define SYCL_EXT_ONEAPI_SRGB 1
55 #define SYCL_EXT_ONEAPI_SUB_GROUP 1
56 #define SYCL_EXT_ONEAPI_PROPERTIES 1
57 #define SYCL_EXT_ONEAPI_NATIVE_MATH 1
58 #define SYCL_EXT_ONEAPI_BFLOAT16 1
59 #define SYCL_EXT_INTEL_DATAFLOW_PIPES 1
60 #ifdef __clang__
61 #if __has_extension(sycl_extended_atomics)
62 #define SYCL_EXT_INTEL_EXTENDED_ATOMICS 1
63 #endif
64 #endif
65 #define SYCL_EXT_INTEL_FPGA_DEVICE_SELECTOR 1
66 #define SYCL_EXT_INTEL_FPGA_LSU 1
67 #define SYCL_EXT_INTEL_FPGA_REG 1
68 #define SYCL_EXT_INTEL_KERNEL_ARGS_RESTRICT 1
69 #define SYCL_EXT_INTEL_MEM_CHANNEL_PROPERTY 1
70 #define SYCL_EXT_INTEL_USM_ADDRESS_SPACES 1
71 #define SYCL_EXT_INTEL_RUNTIME_BUFFER_LOCATION 1
72 #define SYCL_EXT_ONEAPI_BACKEND_LEVEL_ZERO 3
73 #define SYCL_EXT_ONEAPI_USM_DEVICE_READ_ONLY 1
74 #define SYCL_BUILD_PI_CUDA 0
75 #if SYCL_BUILD_PI_CUDA
76 #define SYCL_EXT_ONEAPI_BACKEND_CUDA 1
77 #endif
78 #define SYCL_BUILD_PI_ESIMD_EMULATOR 0
79 #if SYCL_BUILD_PI_ESIMD_EMULATOR
80 #define SYCL_EXT_INTEL_BACKEND_ESIMD_EMULATOR 1
81 #endif
82 #define SYCL_BUILD_PI_HIP 0
83 #if SYCL_BUILD_PI_HIP
84 #define SYCL_EXT_ONEAPI_BACKEND_HIP 1
85 #endif
86 
87 } // namespace sycl
88 } // __SYCL_INLINE_NAMESPACE(cl)
defines_elementary.hpp
sycl
Definition: invoke_simd.hpp:68
cl
We provide new interfaces for matrix muliply in this patch:
Definition: access.hpp:13
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition: defines_elementary.hpp:12