[SYCL] Keep the old format of files in persistent cache #16428
Merged
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.
PR#16056 fixed multi-device support for persistent cache but also changed format of the files in persistent cache - we used to write number of binaries before binary size and binary data but stopped doing that because we always have a single binary (for a single device) per file. Because of that new runtime stopped working with persistent cache created by older runtimes.
This PR restores the old format of files in persistent cache.
For that we need to write number of binaries to the file (before binary size and binary data) though it is always equal to 1 in current implementation. Even in the old implementation we could only put a single binary to the persistent cache in all scenarios, multi-device case wasn't supported, didn't have an API to create a program from multiple binaries. So we can assert that number of binaries is always 1 when reading from the cache.