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