Interface GPUMemoryAllocator
-
- All Known Implementing Classes:
CudaMemoryAllocator
,UnifiedMemoryAllocator
public interface GPUMemoryAllocator
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
allocate(jcuda.Pointer devPtr, long size)
Allocate memory on the device.boolean
canAllocate(long size)
Check if there is enough memory to allocate a pointer of given sizevoid
free(jcuda.Pointer devPtr)
Frees memory on the devicelong
getAvailableMemory()
Gets the available memory on GPU that SystemDS can use.
-
-
-
Method Detail
-
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
-
-