Skip to content

Add Level Zero support for program compilation for dpctl #210

Closed
@diptorupd

Description

@diptorupd

dpctl program interface only supports OpenCL. To improve the situation, we need to support compiling kernels from Spir-V IL (Numba will be the primary consumer of this feature) and possibly from source files.

DPC++ does not yet provide a way to create a SYCL program from a SPIR-V IL, the feature is intended as a future enhancement. For this reason, dpctl needs to first generate an interoperability program and then create a SYCL program object from it. We already do this for OpenCL:

createOpenCLInterOpProgram (const context &SyclCtx,

This issue ticket is implement the same feature for Level Zero driver API. Our implementation should be similar to the way the feature is implemented in DPC++:
https://github.com/intel/llvm/blob/68fc7808a50eba4d777e3442fbe5a1cc2e125bcd/sycl/plugins/level_zero/pi_level_zero.cpp#L2672

Other relevant references are:

  1. Level Zero API: https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=zemodulecreate#module
  2. Level Zero Programming Guide: https://spec.oneapi.com/level-zero/latest/core/PROG.html#modules-and-kernels

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions