@@ -18,32 +18,6 @@ std::mutex ZeCall::GlobalLock;
18
18
19
19
ZeUSMImportExtension ZeUSMImport;
20
20
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
-
47
21
// Trace a call to Level-Zero RT
48
22
#define ZE_CALL (ZeName, ZeArgs ) \
49
23
{ \
@@ -52,182 +26,6 @@ bool setEnvVar(const char *name, const char *value) {
52
26
return ze2urResult (Result); \
53
27
}
54
28
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
-
231
29
static const bool ExposeCSliceInAffinityPartitioning = [] {
232
30
const char *Flag =
233
31
std::getenv (" SYCL_PI_LEVEL_ZERO_EXPOSE_CSLICE_IN_AFFINITY_PARTITIONING" );
@@ -303,7 +101,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGet(
303
101
static std::once_flag ZeCallCountInitialized;
304
102
try {
305
103
std::call_once (ZeCallCountInitialized, []() {
306
- if (ZeDebug & ZE_DEBUG_CALL_COUNT ) {
104
+ if (UrL0Debug & UR_L0_DEBUG_CALL_COUNT ) {
307
105
ZeCallCount = new std::map<const char *, int >;
308
106
}
309
107
});
@@ -315,7 +113,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGet(
315
113
316
114
// Setting these environment variables before running zeInit will enable the
317
115
// validation layer in the Level Zero loader.
318
- if (ZeDebug & ZE_DEBUG_VALIDATION ) {
116
+ if (UrL0Debug & UR_L0_DEBUG_VALIDATION ) {
319
117
setEnvVar (" ZE_ENABLE_VALIDATION_LAYER" , " 1" );
320
118
setEnvVar (" ZE_ENABLE_PARAMETER_VALIDATION" , " 1" );
321
119
}
@@ -343,7 +141,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGet(
343
141
}
344
142
345
143
if (ZeResult != ZE_RESULT_SUCCESS) {
346
- zePrint (" zeInit: Level Zero initialization failure\n " );
144
+ urPrint (" zeInit: Level Zero initialization failure\n " );
347
145
return ze2urResult (ZeResult);
348
146
}
349
147
@@ -450,7 +248,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGetInfo(
450
248
//
451
249
return ReturnValue (Platform->ZeDriverApiVersion .c_str ());
452
250
default :
453
- zePrint (" piPlatformGetInfo: unrecognized ParamName\n " );
251
+ urPrint (" piPlatformGetInfo: unrecognized ParamName\n " );
454
252
return UR_RESULT_ERROR_INVALID_VALUE;
455
253
}
456
254
@@ -511,7 +309,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGet(
511
309
break ;
512
310
default :
513
311
Matched = false ;
514
- zePrint (" Unknown device type" );
312
+ urPrint (" Unknown device type" );
515
313
break ;
516
314
}
517
315
if (Matched)
@@ -561,7 +359,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
561
359
case ZE_DEVICE_TYPE_FPGA:
562
360
return ReturnValue (UR_DEVICE_TYPE_FPGA);
563
361
default :
564
- zePrint (" This device type is not supported\n " );
362
+ urPrint (" This device type is not supported\n " );
565
363
return UR_RESULT_ERROR_INVALID_VALUE;
566
364
}
567
365
}
@@ -1058,7 +856,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
1058
856
return ReturnValue (uint32_t {Device->ZeDeviceProperties ->deviceId });
1059
857
case UR_DEVICE_INFO_PCI_ADDRESS: {
1060
858
if (getenv (" ZES_ENABLE_SYSMAN" ) == nullptr ) {
1061
- zePrint (" Set SYCL_ENABLE_PCI=1 to obtain PCI data.\n " );
859
+ urPrint (" Set SYCL_ENABLE_PCI=1 to obtain PCI data.\n " );
1062
860
return UR_RESULT_ERROR_INVALID_VALUE;
1063
861
}
1064
862
ZesStruct<zes_pci_properties_t > ZeDevicePciProperties;
@@ -1222,8 +1020,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
1222
1020
1223
1021
// TODO: Implement.
1224
1022
default :
1225
- zePrint (" Unsupported ParamName in piGetDeviceInfo\n " );
1226
- zePrint (" ParamName=%d(0x%x)\n " , ParamName, ParamName);
1023
+ urPrint (" Unsupported ParamName in piGetDeviceInfo\n " );
1024
+ urPrint (" ParamName=%d(0x%x)\n " , ParamName, ParamName);
1227
1025
return UR_RESULT_ERROR_INVALID_VALUE;
1228
1026
}
1229
1027
@@ -1263,7 +1061,7 @@ getRangeOfAllowedCopyEngines(const ur_device_handle_t &Device) {
1263
1061
int UpperCopyEngineIndex = std::stoi (CopyEngineRange.substr (pos + 1 ));
1264
1062
if ((LowerCopyEngineIndex > UpperCopyEngineIndex) ||
1265
1063
(LowerCopyEngineIndex < -1 ) || (UpperCopyEngineIndex < -1 )) {
1266
- zePrint (" SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE: invalid value provided, "
1064
+ urPrint (" SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE: invalid value provided, "
1267
1065
" default set.\n " );
1268
1066
LowerCopyEngineIndex = 0 ;
1269
1067
UpperCopyEngineIndex = INT_MAX;
@@ -1340,7 +1138,7 @@ ur_result_t _ur_device_handle_t::initialize(int SubSubDeviceOrdinal,
1340
1138
if (numQueueGroups == 0 ) {
1341
1139
return UR_RESULT_ERROR_UNKNOWN;
1342
1140
}
1343
- zePrint (" NOTE: Number of queue groups = %d\n " , numQueueGroups);
1141
+ urPrint (" NOTE: Number of queue groups = %d\n " , numQueueGroups);
1344
1142
std::vector<ZeStruct<ze_command_queue_group_properties_t >>
1345
1143
QueueGroupProperties (numQueueGroups);
1346
1144
ZE_CALL (zeDeviceGetCommandQueueGroupProperties,
@@ -1393,14 +1191,14 @@ ur_result_t _ur_device_handle_t::initialize(int SubSubDeviceOrdinal,
1393
1191
}
1394
1192
}
1395
1193
if (QueueGroup[queue_group_info_t ::MainCopy].ZeOrdinal < 0 )
1396
- zePrint (" NOTE: main blitter/copy engine is not available\n " );
1194
+ urPrint (" NOTE: main blitter/copy engine is not available\n " );
1397
1195
else
1398
- zePrint (" NOTE: main blitter/copy engine is available\n " );
1196
+ urPrint (" NOTE: main blitter/copy engine is available\n " );
1399
1197
1400
1198
if (QueueGroup[queue_group_info_t ::LinkCopy].ZeOrdinal < 0 )
1401
- zePrint (" NOTE: link blitter/copy engines are not available\n " );
1199
+ urPrint (" NOTE: link blitter/copy engines are not available\n " );
1402
1200
else
1403
- zePrint (" NOTE: link blitter/copy engines are available\n " );
1201
+ urPrint (" NOTE: link blitter/copy engines are available\n " );
1404
1202
}
1405
1203
}
1406
1204
0 commit comments