llvm icon indicating copy to clipboard operation
llvm copied to clipboard

[SYCL] PoC implementation of kernel compiler extension with libtooling and sycl-jit

Open jopperm opened this issue 1 year ago • 0 comments

This PR sets up in-memory compilation for runtime-defined SYCL kernels, via clang's libtooling interface and reusing LLVM-to-SPRIV-translation infrastructure in sycl-jit. I introduced a new, undocumented source language sycljit, which shall be removed again when the proposed approach is ready to replace the current process/file-based implementation for the sycl source language.

Missing features:

  • Compiler warnings/errors -> build log / exception message
  • Instantiation of template kernels
  • Name mangling beyond removing the __sycl_kernel prefix when requesting a kernel from the bundle
  • Linking of device libs, and sycl-post-link phase, so only very simple kernels are supported
  • Property handling and integration into program_manager

jopperm avatar Oct 15 '24 12:10 jopperm