cupy.cuda.PythonFunctionAllocator#

class cupy.cuda.PythonFunctionAllocator(malloc_func, free_func)[源代码]#

带有用于执行内存分配的 Python 函数的分配器。

这个分配器保留了与 mallocfree 相对应的函数,将实际的分配委托给外部源,同时仅处理资源分配和释放的时机。

malloc 应遵循签名 malloc(int, int) -> int,返回给定 param 对象、要分配的字节数和应在其中进行分配的设备ID的分配内存的指针。

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

如果外部内存管理支持异步操作,可以通过调用 cupy.cuda.get_current_stream()malloc_funcfree_func 内部获取当前的 CuPy 流。要使用外部流,请使用 cupy.cuda.ExternalStream() 包装它们。

参数:
  • malloc_func (function) – malloc 函数将被调用。

  • free_func (function) – free 函数将被调用。

方法

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。