xla icon indicating copy to clipboard operation
xla copied to clipboard

[Draft][XLA:GPU] Add sycl runtime

Open Solaryee opened this issue 1 year ago • 2 comments

This PR aims to add sycl runtime support, we can run basic JAX GPU UTs with it. It includes:

  1. sycl runtime crosstool build
  2. sycl stream executor
  3. spirv-llvm-translator
  4. registration of spir_compiler/computation placer/transfer manager
  5. refine build file to remove cuda specific changes(especially those cuda kernels)
  6. fix CudaCubin to load spirv binary
  7. fix metadata

This is a draft PR to show what is needed to run JAX on sycl runtime.

Solaryee avatar Feb 01 '24 06:02 Solaryee

Hi @penpornk , this is the big SYCL runtime PR for preview and CI test, we will continue to split it into small PRs.

Next work:

  • Split this PR into small PRs. Any suggestions or review comments are welcome
    • https://github.com/openxla/xla/pull/9044
    • https://github.com/openxla/xla/pull/9045
    • https://github.com/openxla/xla/pull/10244
    • https://github.com/openxla/xla/pull/10247
    • https://github.com/openxla/xla/pull/11424
    • https://github.com/openxla/xla/pull/11425
    • https://github.com/openxla/xla/pull/11767
    • https://github.com/openxla/xla/pull/14950
    • https://github.com/openxla/xla/pull/15904
    • https://github.com/openxla/xla/pull/15905
    • Others are WIP

We still need some JAX work to enable Intel public CI for this PR. Will share CI result to this PR after it's done

Zantares avatar Feb 01 '24 08:02 Zantares

Thank you for the PR! Could you please help make it buildable when SYCL is not configured? (All presubmit CIs are failing. I'm not sure why all their error logs aren't viewable though.)

Sorry for the late reply. I have rebased the code and now it should work.

The Intel Extension for OpenXLA plug-in requires oneAPI Base Toolkit installation for DPC++, oneMKL, and oneTBB. I don't see their headers in this PR. Does this mean we can build this PR with SYCL without installing the oneAPI Base Toolkit?

oneAPI Base Toolkit is needed for the headers, for example sycl.hpp is included here.

Solaryee avatar Feb 18 '24 06:02 Solaryee

@Solaryee @penpornk This PR has been inactive for over a year. It seems to me that it was likely broken down into multiple other submitted PRs, so I am closing it. Please reopen in case you still intend on merging it.

dimitar-asenov avatar Jun 16 '25 07:06 dimitar-asenov