12 #ifndef FAISS_GPU_RESOURCES_C_H
13 #define FAISS_GPU_RESOURCES_C_H
15 #include <cuda_runtime_api.h>
25 FAISS_DECLARE_CLASS(GpuResources)
27 FAISS_DECLARE_DESTRUCTOR(GpuResources)
32 int faiss_GpuResources_initializeForDevice(FaissGpuResources*,
int);
35 int faiss_GpuResources_getBlasHandle(FaissGpuResources*,
int, cublasHandle_t*);
39 int faiss_GpuResources_getDefaultStream(FaissGpuResources*,
int, cudaStream_t*);
42 int faiss_GpuResources_getPinnedMemory(FaissGpuResources*,
void**,
size_t*);
45 int faiss_GpuResources_getAsyncCopyStream(FaissGpuResources*,
int, cudaStream_t*);
48 int faiss_GpuResources_getBlasHandleCurrentDevice(FaissGpuResources*, cublasHandle_t*);
51 int faiss_GpuResources_getDefaultStreamCurrentDevice(FaissGpuResources*, cudaStream_t*);
56 int faiss_GpuResources_syncDefaultStream(FaissGpuResources*,
int);
59 int faiss_GpuResources_syncDefaultStreamCurrentDevice(FaissGpuResources*);
62 int faiss_GpuResources_getAsyncCopyStreamCurrentDevice(FaissGpuResources*, cudaStream_t*);