-
Notifications
You must be signed in to change notification settings - Fork 801
[SYCL][E2E] Fix lit to use arch selection and l0 v2 adapter #20839
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Mateusz P. Nowak <[email protected]>
Signed-off-by: Mateusz P. Nowak <[email protected]>
sycl/test-e2e/format.py
Outdated
| "linux", | ||
| "windows", | ||
| "preview-breaking-changes-supported", | ||
| # the following entries are used by architecture-based filtering |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry can you point out which part fixes the CI failures?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a device is specified as :arch-, it doesn't contain generic :gpu or :cpu - and the tokens were normally used when parsing conditions like %if gpu in tests. Now, if only gpu exist in test.config.available_features, tests still can use %if gpu.
After reconsidering - architecture-based device selection makes sense only for GPUs, so "cpu" and "accelerator" will never be used and can be removed (they will work as before if
device name is like opencl:cpu)
| features.update(architecture_feature) | ||
| features.update(device_family) | ||
|
|
||
| be, dev = sycl_device.split(":") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i would expect dev to be arch-intel_gpu_mtl_u or whatever, but i see isdigit check so what would the digits be?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the time we hit features.add(dev) sycl_device is already resolved SYCL name, eg. level_zero:1, not level_zero_v2:arch-intel_gpu. If the device name is given as :arch-, we have digit after colon, if it was generic (eg. :gpu) it is still generic.
The fix allows to use of _v1 and _v2 to select the l0 adapter and the use of arch to select the GPU, eg.:
llvm-lit --param "sycl_devices=level_zero_v2:arch-intel_gpu_mtl_u"Necessary to run tests on integrated GPU on system with another GPU