Interface GPUMemoryAllocator
-
- All Known Implementing Classes:
CudaMemoryAllocator,UnifiedMemoryAllocator
public interface GPUMemoryAllocator
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidallocate(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 devicelonggetAvailableMemory()Gets the available memory on GPU that SystemDS can use.
-
-
-
Method Detail
-
allocate
void allocate(jcuda.Pointer devPtr, long size) throws jcuda.CudaExceptionAllocate 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
-
-