@@ -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" );
@@ -303,7 +101,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGet(
303101 static std::once_flag ZeCallCountInitialized;
304102 try {
305103 std::call_once (ZeCallCountInitialized, []() {
306- if (ZeDebug & ZE_DEBUG_CALL_COUNT ) {
104+ if (UrL0Debug & UR_L0_DEBUG_CALL_COUNT ) {
307105 ZeCallCount = new std::map<const char *, int >;
308106 }
309107 });
@@ -315,7 +113,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGet(
315113
316114 // Setting these environment variables before running zeInit will enable the
317115 // validation layer in the Level Zero loader.
318- if (ZeDebug & ZE_DEBUG_VALIDATION ) {
116+ if (UrL0Debug & UR_L0_DEBUG_VALIDATION ) {
319117 setEnvVar (" ZE_ENABLE_VALIDATION_LAYER" , " 1" );
320118 setEnvVar (" ZE_ENABLE_PARAMETER_VALIDATION" , " 1" );
321119 }
@@ -343,7 +141,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGet(
343141 }
344142
345143 if (ZeResult != ZE_RESULT_SUCCESS) {
346- zePrint (" zeInit: Level Zero initialization failure\n " );
144+ urPrint (" zeInit: Level Zero initialization failure\n " );
347145 return ze2urResult (ZeResult);
348146 }
349147
@@ -450,7 +248,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urPlatformGetInfo(
450248 //
451249 return ReturnValue (Platform->ZeDriverApiVersion .c_str ());
452250 default :
453- zePrint (" piPlatformGetInfo: unrecognized ParamName\n " );
251+ urPrint (" piPlatformGetInfo: unrecognized ParamName\n " );
454252 return UR_RESULT_ERROR_INVALID_VALUE;
455253 }
456254
@@ -511,7 +309,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGet(
511309 break ;
512310 default :
513311 Matched = false ;
514- zePrint (" Unknown device type" );
312+ urPrint (" Unknown device type" );
515313 break ;
516314 }
517315 if (Matched)
@@ -561,7 +359,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
561359 case ZE_DEVICE_TYPE_FPGA:
562360 return ReturnValue (UR_DEVICE_TYPE_FPGA);
563361 default :
564- zePrint (" This device type is not supported\n " );
362+ urPrint (" This device type is not supported\n " );
565363 return UR_RESULT_ERROR_INVALID_VALUE;
566364 }
567365 }
@@ -1058,7 +856,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
1058856 return ReturnValue (uint32_t {Device->ZeDeviceProperties ->deviceId });
1059857 case UR_DEVICE_INFO_PCI_ADDRESS: {
1060858 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 " );
1062860 return UR_RESULT_ERROR_INVALID_VALUE;
1063861 }
1064862 ZesStruct<zes_pci_properties_t > ZeDevicePciProperties;
@@ -1222,8 +1020,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
12221020
12231021 // TODO: Implement.
12241022 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);
12271025 return UR_RESULT_ERROR_INVALID_VALUE;
12281026 }
12291027
@@ -1263,7 +1061,7 @@ getRangeOfAllowedCopyEngines(const ur_device_handle_t &Device) {
12631061 int UpperCopyEngineIndex = std::stoi (CopyEngineRange.substr (pos + 1 ));
12641062 if ((LowerCopyEngineIndex > UpperCopyEngineIndex) ||
12651063 (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, "
12671065 " default set.\n " );
12681066 LowerCopyEngineIndex = 0 ;
12691067 UpperCopyEngineIndex = INT_MAX;
@@ -1340,7 +1138,7 @@ ur_result_t _ur_device_handle_t::initialize(int SubSubDeviceOrdinal,
13401138 if (numQueueGroups == 0 ) {
13411139 return UR_RESULT_ERROR_UNKNOWN;
13421140 }
1343- zePrint (" NOTE: Number of queue groups = %d\n " , numQueueGroups);
1141+ urPrint (" NOTE: Number of queue groups = %d\n " , numQueueGroups);
13441142 std::vector<ZeStruct<ze_command_queue_group_properties_t >>
13451143 QueueGroupProperties (numQueueGroups);
13461144 ZE_CALL (zeDeviceGetCommandQueueGroupProperties,
@@ -1393,14 +1191,14 @@ ur_result_t _ur_device_handle_t::initialize(int SubSubDeviceOrdinal,
13931191 }
13941192 }
13951193 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 " );
13971195 else
1398- zePrint (" NOTE: main blitter/copy engine is available\n " );
1196+ urPrint (" NOTE: main blitter/copy engine is available\n " );
13991197
14001198 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 " );
14021200 else
1403- zePrint (" NOTE: link blitter/copy engines are available\n " );
1201+ urPrint (" NOTE: link blitter/copy engines are available\n " );
14041202 }
14051203 }
14061204
0 commit comments