结构体 faiss::gpu::StackDeviceMemory::Stack
-
struct Stack
公共函数
-
Stack(GpuResources *res, int device, size_t size)
通过 cudaMalloc 分配内存的构造函数。
-
~Stack()
-
size_t getSizeAvailable() const
返回不调用 cudaMalloc 的情况下可用于分配的大小。
-
char *getAlloc(size_t size, cudaStream_t stream)
获取分配;保证所有分配都是 16 字节对齐的。
-
void returnAlloc(char *p, size_t size, cudaStream_t stream)
返回一个分配。
-
std::string toString() const
返回堆栈状态。
公共成员
-
GpuResources *res_
我们的 GpuResources 对象。
-
int device_
此分配所在的设备。
-
char *alloc_
我们的临时内存缓冲区分配在哪里;我们从这个位置的 16 个字节处开始分配。
-
size_t allocSize_
我们分配的总大小。
-
char *start_
我们的临时内存区域;[start_, end_) 是有效的。
-
char *end_
-
char *head_
[start, end) 中的 Stack 头。
-
size_t highWaterMemoryUsed_
临时缓冲区中使用的内存的最高水位线是多少?
-
Stack(GpuResources *res, int device, size_t size)