Packages

c

com.nvidia.spark.rapids

RapidsDeviceMemoryStore

class RapidsDeviceMemoryStore extends RapidsBufferStore with Arm

Buffer storage using device memory.

Linear Supertypes
RapidsBufferStore, Arm, Logging, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RapidsDeviceMemoryStore
  2. RapidsBufferStore
  3. Arm
  4. Logging
  5. AutoCloseable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RapidsDeviceMemoryStore(catalog: RapidsBufferCatalog = RapidsBufferCatalog.singleton)

    catalog

    catalog to register this store

Type Members

  1. abstract class RapidsBufferBase extends RapidsBuffer with Arm

    Base class for all buffers in this store.

    Base class for all buffers in this store.

    Definition Classes
    RapidsBufferStore
  2. class RapidsDeviceMemoryBuffer extends RapidsBufferBase

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. def addBuffer(id: RapidsBufferId, buffer: DeviceMemoryBuffer, tableMeta: TableMeta, initialSpillPriority: Long, spillCallback: SpillCallback = RapidsBuffer.defaultSpillCallback, needsSync: Boolean = true): Unit

    Adds a buffer to the device storage, taking ownership of the buffer.

    Adds a buffer to the device storage, taking ownership of the buffer.

    id

    buffer ID to associate with this buffer

    buffer

    buffer that will be owned by the store

    tableMeta

    metadata describing the buffer layout

    initialSpillPriority

    starting spill priority value for the buffer

    spillCallback

    a callback when the buffer is spilled. This should be very light weight. It should never allocate GPU memory and really just be used for metrics.

    needsSync

    whether the spill framework should stream synchronize while adding this device buffer (defaults to true)

  5. def addBuffer(buffer: RapidsBufferBase): Unit

    Update bookkeeping for a new buffer

    Update bookkeeping for a new buffer

    Attributes
    protected
    Definition Classes
    RapidsBufferStore
  6. def addContiguousTable(id: RapidsBufferId, contigTable: ContiguousTable, initialSpillPriority: Long, spillCallback: SpillCallback = RapidsBuffer.defaultSpillCallback, needsSync: Boolean = true): Unit

    Adds a contiguous table to the device storage.

    Adds a contiguous table to the device storage. This does NOT take ownership of the contiguous table, so it is the responsibility of the caller to close it. The refcount of the underlying device buffer will be incremented so the contiguous table can be closed before this buffer is destroyed.

    id

    buffer ID to associate with this buffer

    contigTable

    contiguous table to track in storage

    initialSpillPriority

    starting spill priority value for the buffer

    spillCallback

    a callback when the buffer is spilled. This should be very light weight. It should never allocate GPU memory and really just be used for metrics.

    needsSync

    whether the spill framework should stream synchronize while adding this device buffer (defaults to true)

  7. def addTable(id: RapidsBufferId, table: Table, contigBuffer: DeviceMemoryBuffer, tableMeta: TableMeta, initialSpillPriority: Long, spillCallback: SpillCallback = RapidsBuffer.defaultSpillCallback): Unit

    Adds a contiguous table to the device storage, taking ownership of the table.

    Adds a contiguous table to the device storage, taking ownership of the table.

    id

    buffer ID to associate with this buffer

    table

    cudf table based from the contiguous buffer

    contigBuffer

    device memory buffer backing the table

    tableMeta

    metadata describing the buffer layout

    initialSpillPriority

    starting spill priority value for the buffer

    spillCallback

    a callback when the buffer is spilled. This should be very light weight. It should never allocate GPU memory and really just be used for metrics.

  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  10. def close(): Unit
    Definition Classes
    RapidsBufferStore → AutoCloseable
  11. def closeOnExcept[T <: AutoCloseable, V](r: Option[T])(block: (Option[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  12. def closeOnExcept[T <: AutoCloseable, V](r: ArrayBuffer[T])(block: (ArrayBuffer[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  13. def closeOnExcept[T <: AutoCloseable, V](r: Array[T])(block: (Array[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  14. def closeOnExcept[T <: AutoCloseable, V](r: Seq[T])(block: (Seq[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  15. def closeOnExcept[T <: AutoCloseable, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block, closing the resource only if an exception occurs

    Executes the provided code block, closing the resource only if an exception occurs

    Definition Classes
    Arm
  16. def copyBuffer(buffer: RapidsBuffer, memoryBuffer: MemoryBuffer, stream: Stream): RapidsBufferBase

    Adds an existing buffer from another store to this store.

    Adds an existing buffer from another store to this store. The buffer must already have an active reference by the caller and needs to be eventually closed by the caller (i.e.: this method will not take ownership of the incoming buffer object). This does not need to update the catalog, the caller is responsible for that.

    buffer

    data from another store

    memoryBuffer

    memory buffer obtained from the specified Rapids buffer. The ownership for memoryBuffer is transferred to this store. The store may close memoryBuffer if necessary.

    stream

    CUDA stream to use for copy or null

    returns

    new buffer that was created

    Definition Classes
    RapidsBufferStore
  17. def createBuffer(other: RapidsBuffer, memoryBuffer: MemoryBuffer, stream: Stream): RapidsBufferBase

    Create a new buffer from an existing buffer in another store.

    Create a new buffer from an existing buffer in another store. If the data transfer will be performed asynchronously, this method is responsible for adding a reference to the existing buffer and later closing it when the transfer completes.

    memoryBuffer

    memory buffer obtained from the specified Rapids buffer. The ownership for memoryBuffer is transferred to this store. The store may close memoryBuffer if necessary.

    stream

    CUDA stream to use or null

    returns

    new buffer tracking the data in this store

    Attributes
    protected
    Definition Classes
    RapidsDeviceMemoryStoreRapidsBufferStore
    Note

    DO NOT close the buffer unless adding a reference!

    ,

    createBuffer impls should synchronize against stream before returning, if needed.

  18. def currentSize: Long

    Return the current byte total of buffers in this store.

    Return the current byte total of buffers in this store.

    Definition Classes
    RapidsBufferStore
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  21. def freeOnExcept[T <: RapidsBuffer, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block, freeing the RapidsBuffer only if an exception occurs

    Executes the provided code block, freeing the RapidsBuffer only if an exception occurs

    Definition Classes
    Arm
  22. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  25. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  28. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  29. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  31. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  32. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  34. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  35. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  36. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  37. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. val memoryFreedMonitor: AnyRef

    A monitor that can be used to wait for memory to be freed from this store.

    A monitor that can be used to wait for memory to be freed from this store.

    Attributes
    protected[this]
    Definition Classes
    RapidsBufferStore
  41. val name: String
    Definition Classes
    RapidsBufferStore
  42. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  43. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  44. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  45. def setSpillStore(store: RapidsBufferStore): Unit

    Specify another store that can be used when this store needs to spill.

    Specify another store that can be used when this store needs to spill.

    Definition Classes
    RapidsBufferStore
    Note

    Only one spill store can be registered. This will throw if a spill store has already been registered.

  46. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  47. def synchronousSpill(targetTotalSize: Long, stream: Stream): Long

    Free memory in this store by spilling buffers to the spill store synchronously.

    Free memory in this store by spilling buffers to the spill store synchronously.

    targetTotalSize

    maximum total size of this store after spilling completes

    stream

    CUDA stream to use or null for default stream

    returns

    number of bytes that were spilled

    Definition Classes
    RapidsBufferStore
  48. def synchronousSpill(targetTotalSize: Long): Long

    Free memory in this store by spilling buffers to the spill store synchronously.

    Free memory in this store by spilling buffers to the spill store synchronously.

    targetTotalSize

    maximum total size of this store after spilling completes

    returns

    number of bytes that were spilled

    Definition Classes
    RapidsBufferStore
  49. val tier: StorageTier
    Definition Classes
    RapidsBufferStore
  50. def toString(): String
    Definition Classes
    AnyRef → Any
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  53. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. def withResource[T <: AutoCloseable, V](h: CloseableHolder[T])(block: (CloseableHolder[T]) ⇒ V): V

    Executes the provided code block and then closes the resource

    Executes the provided code block and then closes the resource

    Definition Classes
    Arm
  55. def withResource[T <: AutoCloseable, V](r: ArrayBuffer[T])(block: (ArrayBuffer[T]) ⇒ V): V

    Executes the provided code block and then closes the array buffer of resources

    Executes the provided code block and then closes the array buffer of resources

    Definition Classes
    Arm
  56. def withResource[T <: AutoCloseable, V](r: Array[T])(block: (Array[T]) ⇒ V): V

    Executes the provided code block and then closes the array of resources

    Executes the provided code block and then closes the array of resources

    Definition Classes
    Arm
  57. def withResource[T <: AutoCloseable, V](r: Seq[T])(block: (Seq[T]) ⇒ V): V

    Executes the provided code block and then closes the sequence of resources

    Executes the provided code block and then closes the sequence of resources

    Definition Classes
    Arm
  58. def withResource[T <: AutoCloseable, V](r: Option[T])(block: (Option[T]) ⇒ V): V

    Executes the provided code block and then closes the Option[resource]

    Executes the provided code block and then closes the Option[resource]

    Definition Classes
    Arm
  59. def withResource[T <: AutoCloseable, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block and then closes the resource

    Executes the provided code block and then closes the resource

    Definition Classes
    Arm
  60. def withResourceIfAllowed[T, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block and then closes the value if it is AutoCloseable

    Executes the provided code block and then closes the value if it is AutoCloseable

    Definition Classes
    Arm

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from RapidsBufferStore

Inherited from Arm

Inherited from Logging

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped