You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SYCL] Fix linking of compressed device images when dependencies are not compressed (#18906)
**Problem**
When linking device images, we reject dependencies whose image format
does not match the parent image. However, consider the case when parent
image is compressed, while dependencies are not (demonstrated in the
test case attached to this PR). In this case, we are incorrectly
rejecting device images and thus causing `No device image found for
external symbol` error.
**Solution**
If the format of the main and dependent device image differs and one of
them is compressed, we decompress them and recheck the format of
decompressed device images.
One side-effect of this solution is that now we'll have to decompress
device images, even if we are not using them. For example, when format
of decompressed main and dependent images differs. Unfortunately,
there's no way to find format of the compressed device image, without
first decompressing it.
However, I don't think this will incur a significant overhead as (1) we
decompress device image only once and cache it for subsequent use, and
(2) we decompress only if the dependent device image has an export
symbol that main device image wants (when finding which images to link)
and if it is compatible with the device.
0 commit comments