@@ -30,7 +30,6 @@ cimport cython.array
3030from dpctl._backend cimport ( # noqa: E211, E402
3131 DPCTLCString_Delete,
3232 DPCTLKernel_Delete,
33- DPCTLKernel_GetFunctionName,
3433 DPCTLKernel_GetNumArgs,
3534 DPCTLProgram_CreateFromOCLSource,
3635 DPCTLProgram_CreateFromSpirv,
@@ -61,20 +60,19 @@ cdef class SyclKernel:
6160 """
6261 """
6362 @staticmethod
64- cdef SyclKernel _create(DPCTLSyclKernelRef kref):
63+ cdef SyclKernel _create(DPCTLSyclKernelRef kref, str name ):
6564 cdef SyclKernel ret = SyclKernel.__new__ (SyclKernel)
6665 ret._kernel_ref = kref
67- ret._function_name = DPCTLKernel_GetFunctionName(kref)
66+ ret._function_name = name
6867 return ret
6968
7069 def __dealloc__ (self ):
7170 DPCTLKernel_Delete(self ._kernel_ref)
72- DPCTLCString_Delete(self ._function_name)
7371
7472 def get_function_name (self ):
7573 """ Returns the name of the ``sycl::kernel`` function.
7674 """
77- return self ._function_name.decode()
75+ return self ._function_name
7876
7977 def get_num_args (self ):
8078 """ Returns the number of arguments for this kernel function.
@@ -121,7 +119,7 @@ cdef class SyclProgram:
121119 cpdef SyclKernel get_sycl_kernel(self , str kernel_name):
122120 name = kernel_name.encode(' utf8' )
123121 return SyclKernel._create(DPCTLProgram_GetKernel(self ._program_ref,
124- name))
122+ name), kernel_name )
125123
126124 def has_sycl_kernel (self , str kernel_name ):
127125 name = kernel_name.encode(' utf8' )
0 commit comments