Skip to content

Commit c2ab9d7

Browse files
Added comments per PR review
1 parent 9ba523e commit c2ab9d7

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

dpctl/apis/include/dpctl4pybind11.hpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,15 @@ struct dpctl_capi
179179
: default_sycl_queue{}, default_usm_memory{}, default_usm_ndarray{},
180180
as_usm_memory{}
181181
{
182-
// Import Cython CAPI for dpctl
182+
// Import Cython-generated C-API for dpctl
183+
// This imports python modules and initializes
184+
// static variables such as function pointers for C-API,
185+
// e.g. SyclDevice_GetDeviceRef, etc.
186+
// pointers to Python types, i.e. PySyclDeviceType, etc.
187+
// and exported constants, i.e. USM_ARRAY_C_CONTIGUOUS, etc.
183188
import_dpctl();
184189

190+
// Python type objects for classes implemented by dpctl
185191
this->Py_SyclDeviceType_ = &Py_SyclDeviceType;
186192
this->PySyclDeviceType_ = &PySyclDeviceType;
187193
this->Py_SyclContextType_ = &Py_SyclContextType;
@@ -212,12 +218,14 @@ struct dpctl_capi
212218
this->SyclQueue_GetQueueRef_ = SyclQueue_GetQueueRef;
213219
this->SyclQueue_Make_ = SyclQueue_Make;
214220

221+
// dpctl.memory API
215222
this->Memory_GetUsmPointer_ = Memory_GetUsmPointer;
216223
this->Memory_GetContextRef_ = Memory_GetContextRef;
217224
this->Memory_GetQueueRef_ = Memory_GetQueueRef;
218225
this->Memory_GetNumBytes_ = Memory_GetNumBytes;
219226
this->Memory_Make_ = Memory_Make;
220227

228+
// dpctl.tensor.usm_ndarray API
221229
this->UsmNDArray_GetData_ = UsmNDArray_GetData;
222230
this->UsmNDArray_GetNDim_ = UsmNDArray_GetNDim;
223231
this->UsmNDArray_GetShape_ = UsmNDArray_GetShape;
@@ -228,6 +236,7 @@ struct dpctl_capi
228236
this->UsmNDArray_GetQueueRef_ = UsmNDArray_GetQueueRef;
229237
this->UsmNDArray_GetOffset_ = UsmNDArray_GetOffset;
230238

239+
// constants
231240
this->USM_ARRAY_C_CONTIGUOUS_ = USM_ARRAY_C_CONTIGUOUS;
232241
this->USM_ARRAY_F_CONTIGUOUS_ = USM_ARRAY_F_CONTIGUOUS;
233242
this->USM_ARRAY_WRITABLE_ = USM_ARRAY_WRITABLE;
@@ -247,6 +256,7 @@ struct dpctl_capi
247256
this->UAR_TYPE_SENTINEL_ = UAR_TYPE_SENTINEL;
248257
this->UAR_HALF_ = UAR_HALF;
249258

259+
// deduced disjoint types
250260
this->UAR_INT8_ = UAR_BYTE;
251261
this->UAR_UINT8_ = UAR_UBYTE;
252262
this->UAR_INT16_ = UAR_SHORT;
@@ -266,6 +276,8 @@ struct dpctl_capi
266276
unsigned long long, unsigned int>(
267277
UAR_ULONG, UAR_ULONGLONG, UAR_UINT);
268278

279+
// create shared pointers to python objects used in type-casters
280+
// for dpctl::memory::usm_memory and dpctl::tensor::usm_ndarray
269281
sycl::queue q_{};
270282
PySyclQueueObject *py_q_tmp =
271283
SyclQueue_Make(reinterpret_cast<DPCTLSyclQueueRef>(&q_));

0 commit comments

Comments
 (0)