@@ -150,7 +150,13 @@ class dpctl_capi
150
150
return PyObject_TypeCheck (obj , PySyclProgramType_ ) != 0 ;
151
151
}
152
152
153
- ~dpctl_capi (){};
153
+ ~dpctl_capi ()
154
+ {
155
+ as_usm_memory_ .reset ();
156
+ default_usm_ndarray_ .reset ();
157
+ default_usm_memory_ .reset ();
158
+ default_sycl_queue_ .reset ();
159
+ };
154
160
155
161
static auto & get ()
156
162
{
@@ -194,8 +200,36 @@ class dpctl_capi
194
200
std ::shared_ptr < py ::object > as_usm_memory_ ;
195
201
196
202
dpctl_capi ()
197
- : default_sycl_queue_ {}, default_usm_memory_ {}, default_usm_ndarray_ {},
198
- as_usm_memory_ {}
203
+ : Py_SyclDeviceType_ (nullptr ), PySyclDeviceType_ (nullptr ),
204
+ Py_SyclContextType_ (nullptr ), PySyclContextType_ (nullptr ),
205
+ Py_SyclEventType_ (nullptr ), PySyclEventType_ (nullptr ),
206
+ Py_SyclQueueType_ (nullptr ), PySyclQueueType_ (nullptr ),
207
+ Py_MemoryType_ (nullptr ), PyMemoryUSMDeviceType_ (nullptr ),
208
+ PyMemoryUSMSharedType_ (nullptr ), PyMemoryUSMHostType_ (nullptr ),
209
+ PyUSMArrayType_ (nullptr ), PySyclProgramType_ (nullptr ),
210
+ PySyclKernelType_ (nullptr ), SyclDevice_GetDeviceRef_ (nullptr ),
211
+ SyclDevice_Make_ (nullptr ), SyclContext_GetContextRef_ (nullptr ),
212
+ SyclContext_Make_ (nullptr ), SyclEvent_GetEventRef_ (nullptr ),
213
+ SyclEvent_Make_ (nullptr ), SyclQueue_GetQueueRef_ (nullptr ),
214
+ SyclQueue_Make_ (nullptr ), Memory_GetUsmPointer_ (nullptr ),
215
+ Memory_GetContextRef_ (nullptr ), Memory_GetQueueRef_ (nullptr ),
216
+ Memory_GetNumBytes_ (nullptr ), Memory_Make_ (nullptr ),
217
+ SyclKernel_GetKernelRef_ (nullptr ), SyclKernel_Make_ (nullptr ),
218
+ SyclProgram_GetKernelBundleRef_ (nullptr ), SyclProgram_Make_ (nullptr ),
219
+ UsmNDArray_GetData_ (nullptr ), UsmNDArray_GetNDim_ (nullptr ),
220
+ UsmNDArray_GetShape_ (nullptr ), UsmNDArray_GetStrides_ (nullptr ),
221
+ UsmNDArray_GetTypenum_ (nullptr ), UsmNDArray_GetElementSize_ (nullptr ),
222
+ UsmNDArray_GetFlags_ (nullptr ), UsmNDArray_GetQueueRef_ (nullptr ),
223
+ UsmNDArray_GetOffset_ (nullptr ), USM_ARRAY_C_CONTIGUOUS_ (0 ),
224
+ USM_ARRAY_F_CONTIGUOUS_ (0 ), USM_ARRAY_WRITABLE_ (0 ), UAR_BOOL_ (-1 ),
225
+ UAR_SHORT_ (-1 ), UAR_USHORT_ (-1 ), UAR_INT_ (-1 ), UAR_UINT_ (-1 ),
226
+ UAR_LONG_ (-1 ), UAR_ULONG_ (-1 ), UAR_LONGLONG_ (-1 ), UAR_ULONGLONG_ (-1 ),
227
+ UAR_FLOAT_ (-1 ), UAR_DOUBLE_ (-1 ), UAR_CFLOAT_ (-1 ), UAR_CDOUBLE_ (-1 ),
228
+ UAR_TYPE_SENTINEL_ (-1 ), UAR_HALF_ (-1 ), UAR_INT8_ (-1 ), UAR_UINT8_ (-1 ),
229
+ UAR_INT16_ (-1 ), UAR_UINT16_ (-1 ), UAR_INT32_ (-1 ), UAR_UINT32_ (-1 ),
230
+ UAR_INT64_ (-1 ), UAR_UINT64_ (-1 ), default_sycl_queue_ {},
231
+ default_usm_memory_ {}, default_usm_ndarray_ {}, as_usm_memory_ {}
232
+
199
233
{
200
234
// Import Cython-generated C-API for dpctl
201
235
// This imports python modules and initializes
0 commit comments