Packages

t

com.nvidia.spark.rapids

RapidsBuffer

trait RapidsBuffer extends AutoCloseable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RapidsBuffer
  2. AutoCloseable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def addReference(): Boolean

    Try to add a reference to this buffer to acquire it.

    Try to add a reference to this buffer to acquire it.

    returns

    true if the reference was added or false if this buffer is no longer valid

    Note

    The close method must be called for every successfully obtained reference.

  2. abstract def close(): Unit
    Definition Classes
    AutoCloseable
    Annotations
    @throws( classOf[java.lang.Exception] )
  3. abstract def copyToMemoryBuffer(srcOffset: Long, dst: MemoryBuffer, dstOffset: Long, length: Long, stream: Stream): Unit

    Copy the content of this buffer into the specified memory buffer, starting from the given offset.

    Copy the content of this buffer into the specified memory buffer, starting from the given offset.

    srcOffset

    offset to start copying from.

    dst

    the memory buffer to copy into.

    dstOffset

    offset to copy into.

    length

    number of bytes to copy.

    stream

    CUDA stream to use

  4. abstract def free(): Unit

    Schedule the release of the buffer's underlying resources.

    Schedule the release of the buffer's underlying resources. Subsequent attempts to acquire the buffer will fail. As soon as the buffer has no outstanding references, the resources will be released.

    This is separate from the close method which does not normally release resources. close will only release resources if called as the last outstanding reference and the buffer was previously marked as freed.

  5. abstract def getColumnarBatch(sparkTypes: Array[DataType]): ColumnarBatch

    Get the columnar batch within this buffer.

    Get the columnar batch within this buffer. The caller must have successfully acquired the buffer beforehand.

    sparkTypes

    the spark data types the batch should have

    Note

    It is the responsibility of the caller to close the batch.

    ,

    If the buffer is compressed data then the resulting batch will be built using GpuCompressedColumnVector, and it is the responsibility of the caller to deal with decompressing the data if necessary.

    See also

    addReference

  6. abstract def getDeviceMemoryBuffer: DeviceMemoryBuffer

    Get the device memory buffer from the underlying storage.

    Get the device memory buffer from the underlying storage. If the buffer currently resides outside of device memory, a new DeviceMemoryBuffer is created with the data copied over. The caller must have successfully acquired the buffer beforehand.

    Note

    It is the responsibility of the caller to close the buffer.

    See also

    addReference

  7. abstract def getHostMemoryBuffer: HostMemoryBuffer

    Get the host memory buffer from the underlying storage.

    Get the host memory buffer from the underlying storage. If the buffer currently resides outside of host memory, a new HostMemoryBuffer is created with the data copied over. The caller must have successfully acquired the buffer beforehand.

    Note

    It is the responsibility of the caller to close the buffer.

    See also

    addReference

  8. abstract def getMemoryBuffer: MemoryBuffer

    Get the underlying memory buffer.

    Get the underlying memory buffer. This may be either a HostMemoryBuffer or a DeviceMemoryBuffer depending on where the buffer currently resides. The caller must have successfully acquired the buffer beforehand.

    Note

    It is the responsibility of the caller to close the buffer.

    See also

    addReference

  9. abstract def getSpillPriority: Long

    Get the spill priority value for this buffer.

    Get the spill priority value for this buffer. Lower values are higher priority for spilling, meaning buffers with lower values will be preferred for spilling over buffers with a higher value.

  10. abstract val id: RapidsBufferId

    The buffer identifier for this buffer.

  11. abstract val memoryUsedBytes: Long

    The size of this buffer in bytes in its _current_ store.

    The size of this buffer in bytes in its _current_ store. As the buffer goes through contiguous split (either added as a contiguous table already, or spilled to host), its size changes because contiguous_split adds its own alignment padding.

    Note

    Do not use this size to allocate a target buffer to copy, always use getPackedSize.

  12. abstract def meta: TableMeta

    Descriptor for how the memory buffer is formatted

  13. abstract def setSpillPriority(priority: Long): Unit

    Set the spill priority for this buffer.

    Set the spill priority for this buffer. Lower values are higher priority for spilling, meaning buffers with lower values will be preferred for spilling over buffers with a higher value.

    priority

    new priority value for this buffer

    Note

    should only be called from the buffer catalog

  14. abstract val storageTier: StorageTier

    The storage tier for this buffer

  15. abstract def withMemoryBufferReadLock[K](body: (MemoryBuffer) ⇒ K): K

    Obtains a read lock on this instance of RapidsBuffer and calls the function in body while holding the lock.

    Obtains a read lock on this instance of RapidsBuffer and calls the function in body while holding the lock.

    K

    any return type specified by body

    body

    function that takes a MemoryBuffer and produces K

    returns

    the result of body(memoryBuffer)

  16. abstract def withMemoryBufferWriteLock[K](body: (MemoryBuffer) ⇒ K): K

    Obtains a write lock on this instance of RapidsBuffer and calls the function in body while holding the lock.

    Obtains a write lock on this instance of RapidsBuffer and calls the function in body while holding the lock.

    K

    any return type specified by body

    body

    function that takes a MemoryBuffer and produces K

    returns

    the result of body(memoryBuffer)

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def getCopyIterator: RapidsBufferCopyIterator

    At spill time, obtain an iterator used to copy this buffer to a different tier.

  11. def getHostColumnarBatch(sparkTypes: Array[DataType]): ColumnarBatch

    Get the host-backed columnar batch from this buffer.

    Get the host-backed columnar batch from this buffer. The caller must have successfully acquired the buffer beforehand.

    If this RapidsBuffer was added originally to the device tier, or if this is a just a buffer (not a batch), this function will throw.

    sparkTypes

    the spark data types the batch should have

    Note

    It is the responsibility of the caller to close the batch.

    See also

    addReference

  12. def getPackedSizeBytes: Long

    The size of this buffer if it has already gone through contiguous_split.

    The size of this buffer if it has already gone through contiguous_split.

    Note

    Use this function when allocating a target buffer for spill or shuffle purposes.

  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def makeChunkedPacker: ChunkedPacker

    Makes a new chunked packer.

    Makes a new chunked packer. It is the responsibility of the caller to close this.

  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. val supportsChunkedPacker: Boolean
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. def updateSpillability(): Unit

    Function invoked by the RapidsBufferStore.addBuffer method that prompts the specific RapidsBuffer to check its reference counting to make itself spillable or not.

    Function invoked by the RapidsBufferStore.addBuffer method that prompts the specific RapidsBuffer to check its reference counting to make itself spillable or not. Only RapidsTable and RapidsHostMemoryBuffer implement this method.

  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped