@@ -18,32 +18,6 @@ std::mutex ZeCall::GlobalLock;
1818
1919ZeUSMImportExtension ZeUSMImport;
2020
21- void zePrint (const char *Format, ...) {
22- if (ZeDebug & ZE_DEBUG_BASIC) {
23- va_list Args;
24- va_start (Args, Format);
25- vfprintf (stderr, Format, Args);
26- va_end (Args);
27- }
28- }
29-
30- // This function will ensure compatibility with both Linux and Windows for
31- // setting environment variables.
32- bool setEnvVar (const char *name, const char *value) {
33- #ifdef _WIN32
34- int Res = _putenv_s (name, value);
35- #else
36- int Res = setenv (name, value, 1 );
37- #endif
38- if (Res != 0 ) {
39- zePrint (
40- " Level Zero plugin was unable to set the environment variable: %s\n " ,
41- name);
42- return false ;
43- }
44- return true ;
45- }
46-
4721// Trace a call to Level-Zero RT
4822#define ZE_CALL (ZeName, ZeArgs ) \
4923 { \
@@ -52,182 +26,6 @@ bool setEnvVar(const char *name, const char *value) {
5226 return ze2urResult (Result); \
5327 }
5428
55- // This will count the calls to Level-Zero
56- std::map<const char *, int > *ZeCallCount = nullptr ;
57-
58- inline void zeParseError (ze_result_t ZeError, const char *&ErrorString) {
59- switch (ZeError) {
60- #define ZE_ERRCASE (ERR ) \
61- case ERR: \
62- ErrorString = " " #ERR; \
63- break ;
64-
65- ZE_ERRCASE (ZE_RESULT_SUCCESS)
66- ZE_ERRCASE (ZE_RESULT_NOT_READY)
67- ZE_ERRCASE (ZE_RESULT_ERROR_DEVICE_LOST)
68- ZE_ERRCASE (ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY)
69- ZE_ERRCASE (ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY)
70- ZE_ERRCASE (ZE_RESULT_ERROR_MODULE_BUILD_FAILURE)
71- ZE_ERRCASE (ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS)
72- ZE_ERRCASE (ZE_RESULT_ERROR_NOT_AVAILABLE)
73- ZE_ERRCASE (ZE_RESULT_ERROR_UNINITIALIZED)
74- ZE_ERRCASE (ZE_RESULT_ERROR_UNSUPPORTED_VERSION)
75- ZE_ERRCASE (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE)
76- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_ARGUMENT)
77- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_NULL_HANDLE)
78- ZE_ERRCASE (ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE)
79- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_NULL_POINTER)
80- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_SIZE)
81- ZE_ERRCASE (ZE_RESULT_ERROR_UNSUPPORTED_SIZE)
82- ZE_ERRCASE (ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT)
83- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT)
84- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_ENUMERATION)
85- ZE_ERRCASE (ZE_RESULT_ERROR_UNSUPPORTED_ENUMERATION)
86- ZE_ERRCASE (ZE_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT)
87- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_NATIVE_BINARY)
88- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_GLOBAL_NAME)
89- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_KERNEL_NAME)
90- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_FUNCTION_NAME)
91- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_GROUP_SIZE_DIMENSION)
92- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_GLOBAL_WIDTH_DIMENSION)
93- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX)
94- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_SIZE)
95- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_KERNEL_ATTRIBUTE_VALUE)
96- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_COMMAND_LIST_TYPE)
97- ZE_ERRCASE (ZE_RESULT_ERROR_OVERLAPPING_REGIONS)
98- ZE_ERRCASE (ZE_RESULT_ERROR_INVALID_MODULE_UNLINKED)
99- ZE_ERRCASE (ZE_RESULT_ERROR_UNKNOWN)
100-
101- #undef ZE_ERRCASE
102- default :
103- assert (false && " Unexpected Error code" );
104- } // switch
105- }
106-
107- ze_result_t ZeCall::doCall (ze_result_t ZeResult, const char *ZeName,
108- const char *ZeArgs, bool TraceError) {
109- zePrint (" ZE ---> %s%s\n " , ZeName, ZeArgs);
110-
111- if (ZeDebug & ZE_DEBUG_CALL_COUNT) {
112- ++(*ZeCallCount)[ZeName];
113- }
114-
115- if (ZeResult && TraceError) {
116- const char *ErrorString = " Unknown" ;
117- zeParseError (ZeResult, ErrorString);
118- zePrint (" Error (%s) in %s\n " , ErrorString, ZeName);
119- }
120- return ZeResult;
121- }
122-
123- // Specializations for various L0 structures
124- template <> ze_structure_type_t getZeStructureType<ze_event_pool_desc_t >() {
125- return ZE_STRUCTURE_TYPE_EVENT_POOL_DESC;
126- }
127- template <> ze_structure_type_t getZeStructureType<ze_fence_desc_t >() {
128- return ZE_STRUCTURE_TYPE_FENCE_DESC;
129- }
130- template <> ze_structure_type_t getZeStructureType<ze_command_list_desc_t >() {
131- return ZE_STRUCTURE_TYPE_COMMAND_LIST_DESC;
132- }
133- template <> ze_structure_type_t getZeStructureType<ze_context_desc_t >() {
134- return ZE_STRUCTURE_TYPE_CONTEXT_DESC;
135- }
136- template <>
137- ze_structure_type_t
138- getZeStructureType<ze_relaxed_allocation_limits_exp_desc_t >() {
139- return ZE_STRUCTURE_TYPE_RELAXED_ALLOCATION_LIMITS_EXP_DESC;
140- }
141- template <> ze_structure_type_t getZeStructureType<ze_host_mem_alloc_desc_t >() {
142- return ZE_STRUCTURE_TYPE_HOST_MEM_ALLOC_DESC;
143- }
144- template <>
145- ze_structure_type_t getZeStructureType<ze_device_mem_alloc_desc_t >() {
146- return ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC;
147- }
148- template <> ze_structure_type_t getZeStructureType<ze_command_queue_desc_t >() {
149- return ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC;
150- }
151- template <> ze_structure_type_t getZeStructureType<ze_image_desc_t >() {
152- return ZE_STRUCTURE_TYPE_IMAGE_DESC;
153- }
154- template <> ze_structure_type_t getZeStructureType<ze_module_desc_t >() {
155- return ZE_STRUCTURE_TYPE_MODULE_DESC;
156- }
157- template <>
158- ze_structure_type_t getZeStructureType<ze_module_program_exp_desc_t >() {
159- return ZE_STRUCTURE_TYPE_MODULE_PROGRAM_EXP_DESC;
160- }
161- template <> ze_structure_type_t getZeStructureType<ze_kernel_desc_t >() {
162- return ZE_STRUCTURE_TYPE_KERNEL_DESC;
163- }
164- template <> ze_structure_type_t getZeStructureType<ze_event_desc_t >() {
165- return ZE_STRUCTURE_TYPE_EVENT_DESC;
166- }
167- template <> ze_structure_type_t getZeStructureType<ze_sampler_desc_t >() {
168- return ZE_STRUCTURE_TYPE_SAMPLER_DESC;
169- }
170- template <> ze_structure_type_t getZeStructureType<ze_driver_properties_t >() {
171- return ZE_STRUCTURE_TYPE_DRIVER_PROPERTIES;
172- }
173- template <> ze_structure_type_t getZeStructureType<ze_device_properties_t >() {
174- return ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES;
175- }
176- template <>
177- ze_structure_type_t getZeStructureType<ze_device_compute_properties_t >() {
178- return ZE_STRUCTURE_TYPE_DEVICE_COMPUTE_PROPERTIES;
179- }
180- template <>
181- ze_structure_type_t getZeStructureType<ze_command_queue_group_properties_t >() {
182- return ZE_STRUCTURE_TYPE_COMMAND_QUEUE_GROUP_PROPERTIES;
183- }
184- template <>
185- ze_structure_type_t getZeStructureType<ze_device_image_properties_t >() {
186- return ZE_STRUCTURE_TYPE_DEVICE_IMAGE_PROPERTIES;
187- }
188- template <>
189- ze_structure_type_t getZeStructureType<ze_device_module_properties_t >() {
190- return ZE_STRUCTURE_TYPE_DEVICE_MODULE_PROPERTIES;
191- }
192- template <>
193- ze_structure_type_t getZeStructureType<ze_device_cache_properties_t >() {
194- return ZE_STRUCTURE_TYPE_DEVICE_CACHE_PROPERTIES;
195- }
196- template <>
197- ze_structure_type_t getZeStructureType<ze_device_memory_properties_t >() {
198- return ZE_STRUCTURE_TYPE_DEVICE_MEMORY_PROPERTIES;
199- }
200- template <>
201- ze_structure_type_t getZeStructureType<ze_device_memory_ext_properties_t >() {
202- return ZE_STRUCTURE_TYPE_DEVICE_MEMORY_EXT_PROPERTIES;
203- }
204- template <>
205- ze_structure_type_t getZeStructureType<ze_device_memory_access_properties_t >() {
206- return ZE_STRUCTURE_TYPE_DEVICE_MEMORY_ACCESS_PROPERTIES;
207- }
208- template <> ze_structure_type_t getZeStructureType<ze_module_properties_t >() {
209- return ZE_STRUCTURE_TYPE_MODULE_PROPERTIES;
210- }
211- template <> ze_structure_type_t getZeStructureType<ze_kernel_properties_t >() {
212- return ZE_STRUCTURE_TYPE_KERNEL_PROPERTIES;
213- }
214- template <>
215- ze_structure_type_t getZeStructureType<ze_memory_allocation_properties_t >() {
216- return ZE_STRUCTURE_TYPE_MEMORY_ALLOCATION_PROPERTIES;
217- }
218-
219- template <> zes_structure_type_t getZesStructureType<zes_pci_properties_t >() {
220- return ZES_STRUCTURE_TYPE_PCI_PROPERTIES;
221- }
222-
223- template <> zes_structure_type_t getZesStructureType<zes_mem_state_t >() {
224- return ZES_STRUCTURE_TYPE_MEM_STATE;
225- }
226-
227- template <> zes_structure_type_t getZesStructureType<zes_mem_properties_t >() {
228- return ZES_STRUCTURE_TYPE_MEM_PROPERTIES;
229- }
230-
23129static const bool ExposeCSliceInAffinityPartitioning = [] {
23230 const char *Flag =
23331 std::getenv (" SYCL_PI_LEVEL_ZERO_EXPOSE_CSLICE_IN_AFFINITY_PARTITIONING" );
0 commit comments