Skip to content

Conversation

@jinge90
Copy link
Contributor

@jinge90 jinge90 commented Nov 13, 2024

Currently, devicelib fallback spv must be distributed together with sycl runtime and sycl runtime must load required spv files into memory and link with user's device image if necessary, there are 2 problems about this behavior:

  1. sycl runtime must use some hardly portable hack to get the full path of required spv files: https://github.com/intel/llvm/blob/sycl/sycl/source/detail/os_util.cpp#L109
  2. users once complained that it was not acceptable for them to distribute a bunch of spv files together with sycl runtime, so we switched to AOT link for all device libraries except native bfloat16 libs

This PR is to address these 2 problems, we will embed the necessary fallback spv files into final executable as extra device images and sycl runtime will link these embedded device images with user's device image when necessary.

@jinge90 jinge90 requested review from a team as code owners November 13, 2024 06:42
@jinge90 jinge90 marked this pull request as draft November 13, 2024 06:42
@jinge90
Copy link
Contributor Author

jinge90 commented Jan 21, 2025

We have decided to gradually remove the devicelib spv online link for most devicelib spv files and only keep bfloat16 devicelib for a short-term solution, so close this PR and create a new one for embedding required bfloat16 devicelib.

@jinge90 jinge90 closed this Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants