File tree Expand file tree Collapse file tree
numba_dpex/experimental/kernel_iface Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # SPDX-FileCopyrightText: 2023 Intel Corporation
2+ #
3+ # SPDX-License-Identifier: Apache-2.0
4+
5+ """The kernel_iface provides a set of Python classes and functions that are
6+ analogous to the C++ SYCL API. The kernel_iface API is meant to allow
7+ prototyping SYCL-like kernels in pure Python before compiling them using
8+ numba_dpex.kernel.
9+ """
10+
11+ from .memory_enums import AddressSpace , MemoryOrder , MemoryScope
12+
13+ __all__ = ["AddressSpace" , "MemoryOrder" , "MemoryScope" ]
Original file line number Diff line number Diff line change 1+ # SPDX-FileCopyrightText: 2023 Intel Corporation
2+ #
3+ # SPDX-License-Identifier: Apache-2.0
4+
5+ """A collection of FlagEnum classes that syntactically represents the SYCL
6+ memory enum classes.
7+ """
8+
9+ from numba_dpex .experimental .flag_enum import FlagEnum
10+
11+
12+ class MemoryOrder (FlagEnum ):
13+ """
14+ An enumeration of the supported ``sycl::memory_order`` values in dpcpp. The
15+ integer values of the enums is kept consistent with the corresponding
16+ implementation in dpcpp.
17+
18+ ===================== ============
19+ Order Enum value
20+ ===================== ============
21+ RELAXED 0
22+ ACQUIRE 1
23+ CONSUME_UNSUPPORTED 2
24+ RELEASE 3
25+ ACQ_REL 4
26+ SEQ_CST 5
27+ ===================== ============
28+ """
29+
30+ RELAXED = 0
31+ ACQUIRE = 1
32+ CONSUME_UNSUPPORTED = 2
33+ RELEASE = 3
34+ ACQ_REL = 4
35+ SEQ_CST = 5
36+
37+
38+ class MemoryScope (FlagEnum ):
39+ """
40+ An enumeration of SYCL memory scope. For more details please refer to
41+ SYCL 2020 specification, section 3.8.3.2
42+
43+ =============== ============
44+ Memory Scope Enum value
45+ =============== ============
46+ WORK_ITEM 0
47+ SUB_GROUP 1
48+ WORK_GROUP 2
49+ DEVICE 3
50+ SYSTEM 4
51+ =============== ============
52+ """
53+
54+ WORK_ITEM = 0
55+ SUB_GROUP = 1
56+ WORK_GROUP = 2
57+ DEVICE = 3
58+ SYSTEM = 4
59+
60+
61+ class AddressSpace (FlagEnum ):
62+ """The address space values supported by numba_dpex.
63+
64+ ================== ============
65+ Address space Value
66+ ================== ============
67+ PRIVATE 0
68+ GLOBAL 1
69+ CONSTANT 2
70+ LOCAL 3
71+ GENERIC 4
72+ ================== ============
73+ """
74+
75+ PRIVATE = 0
76+ GLOBAL = 1
77+ CONSTANT = 2
78+ LOCAL = 3
79+ GENERIC = 4
You can’t perform that action at this time.
0 commit comments