cupy.cuda.PythonFunctionAllocator#
- 类 cupy.cuda.PythonFunctionAllocator(malloc_func, free_func)[源代码]#
使用 Python 函数执行内存分配的分配器。
此分配器保留与 malloc 和 free 对应的函数,将实际分配委托给外部源,同时仅处理资源分配和释放的时序。
malloc 应遵循签名
malloc(int, int) -> int
,返回分配的内存的指针,给定 param 对象、要分配的字节数以及应进行分配的设备 ID。类似地,free 应遵循签名
free(int, int)
,没有返回值,接受已分配内存的指针和分配内存的设备 ID。如果外部内存管理支持异步操作,可以在
malloc_func
和free_func
内部通过调用cupy.cuda.get_current_stream()
来获取当前的 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。