@@ -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 ), Py_SyclEventType_ (nullptr ),
205
+ PySyclEventType_ (nullptr ), Py_SyclQueueType_ (nullptr ),
206
+ PySyclQueueType_ (nullptr ), Py_MemoryType_ (nullptr ),
207
+ PyMemoryUSMDeviceType_ (nullptr ), PyMemoryUSMSharedType_ (nullptr ),
208
+ PyMemoryUSMHostType_ (nullptr ), PyUSMArrayType_ (nullptr ),
209
+ PySyclProgramType_ (nullptr ), PySyclKernelType_ (nullptr ),
210
+ SyclDevice_GetDeviceRef_ (nullptr ), SyclDevice_Make_ (nullptr ),
211
+ SyclContext_GetContextRef_ (nullptr ), SyclContext_Make_ (nullptr ),
212
+ SyclEvent_GetEventRef_ (nullptr ), SyclEvent_Make_ (nullptr ),
213
+ SyclQueue_GetQueueRef_ (nullptr ), SyclQueue_Make_ (nullptr ),
214
+ Memory_GetUsmPointer_ (nullptr ), Memory_GetContextRef_ (nullptr ),
215
+ Memory_GetQueueRef_ (nullptr ), Memory_GetNumBytes_ (nullptr ),
216
+ Memory_Make_ (nullptr ), SyclKernel_GetKernelRef_ (nullptr ),
217
+ SyclKernel_Make_ (nullptr ), SyclProgram_GetKernelBundleRef_ (nullptr ),
218
+ SyclProgram_Make_ (nullptr ), UsmNDArray_GetData_ (nullptr ),
219
+ UsmNDArray_GetNDim_ (nullptr ), UsmNDArray_GetShape_ (nullptr ),
220
+ UsmNDArray_GetStrides_ (nullptr ), UsmNDArray_GetTypenum_ (nullptr ),
221
+ UsmNDArray_GetElementSize_ (nullptr ), UsmNDArray_GetFlags_ (nullptr ),
222
+ UsmNDArray_GetQueueRef_ (nullptr ), UsmNDArray_GetOffset_ (nullptr ),
223
+ USM_ARRAY_C_CONTIGUOUS_ (0 ), USM_ARRAY_F_CONTIGUOUS_ (0 ),
224
+ USM_ARRAY_WRITABLE_ (0 ), UAR_BOOL_ (-1 ), UAR_SHORT_ (-1 ),
225
+ UAR_USHORT_ (-1 ), UAR_INT_ (-1 ), UAR_UINT_ (-1 ), UAR_LONG_ (-1 ),
226
+ UAR_ULONG_ (-1 ), UAR_LONGLONG_ (-1 ), UAR_ULONGLONG_ (-1 ), UAR_FLOAT_ (-1 ),
227
+ 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