cupy.cuda.CFunctionAllocator#

class cupy.cuda.CFunctionAllocator(intptr_t param, intptr_t malloc_func, intptr_t free_func, owner)[源代码]#

带有分配例程的C函数指针的分配器。

这个分配器保留了指向 param 对象的原始指针以及指向 mallocfree 的函数指针,将实际的分配委托给外部源,同时仅处理资源分配和释放的时机。

malloc 应遵循签名 void*(*malloc)(void*, size_t, int),返回指向分配内存的指针,给定 param 的指针、要分配的字节数以及应在哪个设备 ID 上进行分配。

同样地,free 应该遵循签名 void(*free)(void*, void*, int),没有返回值,接受指向 param 的指针、指向分配内存的指针以及分配内存的设备ID。

参数:
  • param (int) – *param* 的地址。

  • malloc_func (int) – malloc 的地址。

  • free_func (int) – 地址为 free

  • owner (object) – 引用所有者对象以保持参数和函数的活动状态。

方法

malloc(self, size_t size) MemoryPointer#
__eq__(value, /)#

返回 self==value。

__ne__(value, /)#

返回 self!=value。

__lt__(value, /)#

返回 self<value。

__le__(value, /)#

返回 self<=value。

__gt__(value, /)#

返回 self>value。

__ge__(value, /)#

返回 self>=value。