-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL][Fusion] Cache JIT compiled fused kernels #8051
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
[SYCL][Fusion] Cache JIT compiled fused kernels #8051
Conversation
/verify with intel/llvm-test-suite#1416 |
Putting up the test for this PR is blocked by review & merge of intel/llvm-test-suite#1416. There is draft PR here, based on another draft PR with the tests for #7831, which in turn is blocked by intel/llvm-test-suite#1416. |
0fa6d61
to
6f49dc5
Compare
6f49dc5
to
f81936f
Compare
f81936f
to
51f3329
Compare
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.
Changes look good to me, apart from a small nit.
Signed-off-by: Lukas Sommer <[email protected]>
51f3329
to
21a8981
Compare
@intel/llvm-gatekeepers Can someone please merge, I'm not authorized. |
Failed Tests (1): Reported in #8098 |
Check that JIT compilation for kernel fusion is or is not repeated, depending on whether a newly submitted sequence of kernels is equivalent to a previous sequence. Next to the sequence of kernels, other invocation information, e.g., the user-specified internalization properties play a role to assess equivalence with a previous compilation. Different scenarios are tested by the test added in this PR. Implementation: intel/llvm#8051 Signed-off-by: Lukas Sommer <[email protected]>
) Check that JIT compilation for kernel fusion is or is not repeated, depending on whether a newly submitted sequence of kernels is equivalent to a previous sequence. Next to the sequence of kernels, other invocation information, e.g., the user-specified internalization properties play a role to assess equivalence with a previous compilation. Different scenarios are tested by the test added in this PR. Implementation: intel#8051 Signed-off-by: Lukas Sommer <[email protected]>
Avoid repeating the kernel fusion JIT compilation pipeline if the sequence of kernels to be fused is equivalent to a sequence of kernels fused before.
Next to the sequence of kernels, the detected parameter identities & constants as well as the user-specified internalizations play a role for the equivalence of two sequences. This is all incorporated in the cache lookup.
The JIT compilation caching (on/off) can be controlled through the configuration/environment variable
SYCL_ENABLE_FUSION_CACHING
, the default is on.Signed-off-by: Lukas Sommer [email protected]