@@ -192,76 +192,7 @@ ze_runner_result_t run_spirv_kernel(
192192
193193 if (kern_result != ZE_RESULT_SUCCESS ) {
194194 DEBUG_PRINT ("Failed to create kernel: %d" , kern_result );
195-
196- // Enhanced error reporting for kernel creation failure
197- DEBUG_PRINT ("=== KERNEL CREATION ERROR DETAILS ===" );
198- DEBUG_PRINT ("Kernel name: %s" , name );
199- DEBUG_PRINT ("SPIR-V module size: %zu bytes" , spirv_size );
200-
201- // Try to check if the kernel name exists in the module
202- // Note: Level Zero doesn't provide a direct way to enumerate kernel names
203- // This is left here as a comment for future enhancement if API adds this capability
204- /*
205- uint32_t kernel_count = 0;
206- ze_result_t count_result = zeModuleGetKernelNames(module, &kernel_count, NULL);
207- if (count_result == ZE_RESULT_SUCCESS && kernel_count > 0) {
208- DEBUG_PRINT("Module contains %d kernels", kernel_count);
209-
210- // Get kernel names
211- const char** kernel_names = (const char**)malloc(kernel_count * sizeof(const char*));
212- if (kernel_names) {
213- if (zeModuleGetKernelNames(module, &kernel_count, kernel_names) == ZE_RESULT_SUCCESS) {
214- DEBUG_PRINT("Available kernels in module:");
215- for (uint32_t i = 0; i < kernel_count; i++) {
216- DEBUG_PRINT(" - %s", kernel_names[i]);
217- }
218- }
219- free(kernel_names);
220- }
221- }
222- */
223- DEBUG_PRINT ("Error details:" );
224-
225- // Check error code specifics
226- if (kern_result == ZE_RESULT_ERROR_INVALID_ARGUMENT ) {
227- DEBUG_PRINT (" Error: Invalid argument (kernel descriptor or kernel handle is NULL)" );
228- }
229- else if (kern_result == ZE_RESULT_ERROR_INVALID_KERNEL_NAME ) {
230- DEBUG_PRINT (" Error: Invalid kernel name (kernel '%s' not found in module)" , name );
231-
232- // Print the first few bytes of the SPIR-V for debugging
233- DEBUG_PRINT ("SPIR-V header (first 16 bytes, if available):" );
234- if (spirv_data && spirv_size >= 16 ) {
235- const unsigned char * data = (const unsigned char * )spirv_data ;
236- DEBUG_PRINT (" %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X" ,
237- data [0 ], data [1 ], data [2 ], data [3 ],
238- data [4 ], data [5 ], data [6 ], data [7 ],
239- data [8 ], data [9 ], data [10 ], data [11 ],
240- data [12 ], data [13 ], data [14 ], data [15 ]);
241- }
242-
243- // Custom error code for kernel creation failure
244- // Forward a custom error code to identify kernel name issues
245- zeModuleDestroy (module );
246- zeCommandListDestroy (command_list );
247- zeContextDestroy (context );
248- free (devices );
249- free (drivers );
250- return 2013265937 ; // Custom error code for kernel name not found
251- }
252- else if (kern_result == ZE_RESULT_ERROR_MODULE_BUILD_FAILURE ) {
253- DEBUG_PRINT (" Error: Module build failure" );
254- }
255- else {
256- DEBUG_PRINT (" Error: Unknown error code: %d" , kern_result );
257- }
258-
259- zeModuleDestroy (module );
260- zeCommandListDestroy (command_list );
261- zeContextDestroy (context );
262- free (devices );
263- free (drivers );
264- return ZE_RUNNER_ERROR_KERNEL ;
195+ return ZE_RUNNER_ERROR_KERNEL_EXECUTION ;
265196 }
266197
267198 DEBUG_PRINT ("Kernel created successfully" );
0 commit comments