dpctl.program.create_program_from_source

dpctl.program.create_program_from_source(q, src, copts='')

Creates a Sycl interoperability program from an OpenCL source string.

We use the DPCTLKernelBundle_CreateFromOCLSource() C API function to create a sycl::kernel_bundle<sycl::bundle_state::executable> from an OpenCL source program that can contain multiple kernels. Note: This function is currently only supported for the OpenCL backend.

Parameters:
  • q (dpctl.SyclQueue) – The dpctl.SyclQueue for which the SyclProgram is going to be built.

  • src (str) – Source string for an OpenCL program.

  • copts (str, optional) – Optional compilation flags that will be used when compiling the program. Default: "".

Returns:

program (SyclProgram)

A SyclProgram object wrapping the sycl::kernel_bundle<sycl::bundle_state::executable> returned by the C API.

Raises:

SyclProgramCompilationError – If a SYCL kernel bundle could not be created.