Commit dd59886
[SYCL] Remove fusion implemention and refactor
Removes the remaining fusion implementation and refactors the `sycl-jit`
library to better capture the current use-cases: SYCL runtime
compilation (RTC), and specialization constant materialization (SCM).
High-level notes:
- Split the entrypoints for RTC, SCM and option handling, formerly in
`KernelFusion[.h|.cpp]`, into separate files
- A significant amount of infrastructure became unused after removing
the fusion implementation. The remaining facilities are:
- CMake setup to link LLVM libraries and produce a pass plugin library
- Translation from LLVM module to SPIRV and PTX/AMDGCN (loading and
linking multiple SPIRV or LLVM modules was unused and removed)
- `JITContext` class owning "binaries" (could be SPIRV blob or
PTX/AMDGCN text). At the interface, we use `JITBinaryInfo` (fka
`SYCLKernelBinaryInfo`), which is a non-owning descriptor type
- Option handling
- Dropped "fusion" terminology, and mostly dropped "kernel" terminology,
because RTC and SCM deal with device images (runtime-side) respectively
LLVM modules (jit-side). One exception is the translation helper, which
optionally takes a kernel name, which is in turned used by the
PTX/AMDGCN translation to obtain target attributes from the
corresponding kernel function.
- The `sycl-jit-common` library (in `sycl-jit/common` directory) was
removed because it became header-only and the headers were no longer
used by the pass library (so could be moved to
`sycl-jit/jit-compiler/include`)
---------
Signed-off-by: Julian Oppermann <[email protected]>
Co-authored-by: Steffen Larsen <[email protected]>sycl-jit library (#17929)1 parent e1f523c commit dd59886
File tree
114 files changed
+1270
-17099
lines changed- sycl-jit
- common
- include
- lib
- jit-compiler
- include
- lib
- fusion
- helper
- materializer
- rtc
- translation
- passes
- cleanup
- debug
- internalization
- kernel-fusion
- kernel-info
- materializer
- metadata
- syclcp
- target
- test
- internalization
- kernel-fusion
- kernel-info
- materializer
- syclcp
- sycl
- doc
- design
- images
- source/detail
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
114 files changed
+1270
-17099
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | 23 | | |
25 | 24 | | |
26 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
7 | 6 | | |
8 | | - | |
9 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
This file was deleted.
0 commit comments