[DEBUG] Improve handling ZE_RESULT_ERROR_INVALID_KERNEL_NAME
errors
#5090
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
zeKernelCreate
returns the errorZE_RESULT_ERROR_INVALID_KERNEL_NAME
, but in fact this is just a consequence of compilation problems in the functionzeModuleCreate
, which returnsZE_RESULT_SUCCESS
but in the resulting module there are actually no kernels (we can check it withprintModuleKernelName
).In the logs from
zeModuleCreate
one can see messages of the following nature:we couldn't compile without exceeding max permitted PTSS, drop SIMD
(started to appear after intel/intel-graphics-compiler@2a9efc9). I suppose in that case we could throw an exception that Triton Autotuner can handle:intel-xpu-backend-for-triton/python/triton/runtime/errors.py
Line 14 in 719aab3
The main problem is that if a compiled module gets cache hit in IGC, it does not generate any more messages like
we couldn't compile without exceeding max permitted PTSS, drop SIMD
(which can be bypassed usingNEO_CACHE_PERSISTENT=0
env var, but obviously we can't rely on it in production).In situations where the kernel is simply launched (without autotuning) - we could get more obvious error messages:
This change is inspired by #4838 (comment), namely the situation when with a certain set of parameters (for example with
num_warps=2
) the autotuner breaks, butnum_warps=4
ornum_warps=8
could work correctly.I would like to hear from reviewers the following:
More links: