Interface GPUMemoryAllocator
- All Known Implementing Classes:
CudaMemoryAllocator,UnifiedMemoryAllocator
public interface GPUMemoryAllocator
-
Method Summary
Modifier and TypeMethodDescriptionvoidallocate(jcuda.Pointer devPtr, long size) Allocate memory on the device.booleancanAllocate(long size) Check if there is enough memory to allocate a pointer of given sizevoidfree(jcuda.Pointer devPtr) Frees memory on the devicelongGets the available memory on GPU that SystemDS can use.
-
Method Details
-
allocate
void allocate(jcuda.Pointer devPtr, long size) Allocate memory on the device.- Parameters:
devPtr- Pointer to allocated device memorysize- size in bytes- Throws:
jcuda.CudaException- if unable to allocate
-
free
void free(jcuda.Pointer devPtr) throws jcuda.CudaException Frees memory on the device- Parameters:
devPtr- Device pointer to memory to free- Throws:
jcuda.CudaException- if error occurs
-
canAllocate
boolean canAllocate(long size) Check if there is enough memory to allocate a pointer of given size- Parameters:
size- size in bytes- Returns:
- true if there is enough available memory to allocate a pointer of the given size
-
getAvailableMemory
long getAvailableMemory()Gets the available memory on GPU that SystemDS can use.- Returns:
- the available memory in bytes
-