Skip to content
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

Typing infrastructure improvements #143

Closed
4 of 14 tasks
PokhodenkoSA opened this issue Jan 12, 2021 · 1 comment
Closed
4 of 14 tasks

Typing infrastructure improvements #143

PokhodenkoSA opened this issue Jan 12, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@PokhodenkoSA
Copy link
Contributor

PokhodenkoSA commented Jan 12, 2021

The basic goals are:

  1. Add support for all SYCL types that can be passed as kernel arguments (skip buffers/accessors for now):
  1. Reduce the multiple places where we have checks to identify the kernel argument type:

Tasks:

Design requirements:

  1. Create a typing library inside dpctl similar to сtypes._SimpleCData or even deriving from it to have wrappers for all SYCL types including reduced precision.
  2. Add new types to Numba as needed (e.g. for reduced precision types and short vector).
  3. Have Numba-dppy specific type inference so that we can infer types as dpctl types.
  4. Pass dpctl types to backend C API and do the type casting only once there.

Links:

  1. SYCL 2020 Provisional Specification
  2. https://github.com/IntelPython/dpctl/projects/1 - board

Problems:

  1. How to support vector types? How to define vector types in Python? Vector - fixed size array.
  2. DPC++ LLVM IR - For kernel getting vector. Is it possible to generate the same IR for vectors?
@diptorupd diptorupd added the enhancement New feature or request label Dec 20, 2023
@diptorupd
Copy link
Contributor

Reduced precision types are not planned at this point of time. I have opened a new ticket #1288 to track the discussion around SYCL vector type support in our front end API.

The rest of the task list around ctypes is now moot as the kernel is going to be switched to the Numba Dispatcher API and will use native Numba boxing and unboxing and the use of ctypes will be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants