Interface GPUMemoryAllocator

All Known Implementing Classes:
CudaMemoryAllocator, UnifiedMemoryAllocator

public interface GPUMemoryAllocator
  • Method Summary

    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 size
    void
    free(jcuda.Pointer devPtr)
    Frees memory on the device
    long
    Gets 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 memory
      size - 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