trait GpuDataProducer[T] extends AutoCloseable
A GpuDataProducer produces data on the GPU. That data typically comes from other resources also held on the GPU that cannot be released until the iterator is closed and cannot be made spillable. This behaves like an Iterator but is not an Iterator because this cannot be used in place of an Iterator, especially in the context of an RDD where it would violate the semantics of the GpuSemaphore. Generally the lifetime of this should be entirely while the GpuSemaphore is held. It is "generally" because there are a few cases where for performance reasons if we know that no data is going to be produced, then we might not grab the semaphore at all.
- T
what it is that we are wrapping
- Alphabetic
- By Inheritance
- GpuDataProducer
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
close(): Unit
- Definition Classes
- AutoCloseable
- Annotations
- @throws( classOf[java.lang.Exception] )
-
abstract
def
hasNext: Boolean
Returns true if there is more data to be read or false if there is not.
-
abstract
def
next: T
if hasNext returned true return the data.
if hasNext returned true return the data. The reader is responsible for closing the returned value if it needs to be closed. If there is no more data to be read then an instance of NotSuchElementException should be thrown.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
foreach[U](func: (T) ⇒ U): Unit
Just like foreach on an Iterator
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()