Skip to content

FP8 types for CRI PART 1#21568

Open
dklochkov-emb wants to merge 9 commits intointel:syclfrom
dklochkov-emb:sycl-ext-one-api-fp8-new-arch
Open

FP8 types for CRI PART 1#21568
dklochkov-emb wants to merge 9 commits intointel:syclfrom
dklochkov-emb:sycl-ext-one-api-fp8-new-arch

Conversation

@dklochkov-emb
Copy link
Contributor

@dklochkov-emb dklochkov-emb commented Mar 19, 2026

This PR adds FP8 types for CRI docs.
It adds the first part which includes:

  1. Initial implementation
  2. Unit tests which check expected behavior and values
  3. Unit tests which check the fact of builtin calls.

This PR does not include e2e tests and checks behavior on the device due to driver and spirv translator issues - they will be added in the second part.

@dklochkov-emb dklochkov-emb requested a review from a team as a code owner March 19, 2026 13:48
#ifdef __SYCL_DEVICE_ONLY__
// New FP8 builtins
extern __DPCPP_SYCL_EXTERNAL sycl::half
__builtin_spirv_ClampConvertE4M3ToFP16INTEL(uint8_t) noexcept;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was just talking with @bashbaug today, and he mentioned that there is a multi-vendor SPIR-V extension for FP8 conversions. It looks like this PR is using the proposed Intel extension. I think this is the multi-vendor extension:

https://github.khronos.org/SPIRV-Registry/extensions/EXT/SPV_EXT_float8.html

@bashbaug do you know if our driver supports the multi-vendor extension? @dklochkov-emb does the multi-vendor extension provide all the functionality we need, or would we still need something from the Intel extension?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants