Trait

com.thoughtworks.compute.OpenCL

HandleEventInExecutionContextForIntelAndAMDPlatform

Related Doc: package OpenCL

Permalink

trait HandleEventInExecutionContextForIntelAndAMDPlatform extends OpenCL

Source
OpenCL.scala
Note

HandleEventInExecutionContextForIntelAndAMDPlatform should be unnecessary because only OpenCL calls to create contexts or command-queues, or blocking OpenCL operations are undefined behavior, according to https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/clSetEventCallback.html and we don't use those forbidden functions. Our usage should be fine according to the OpenCL specification. However, AMD SDK always crashes for any reentry calls (e.g. https://travis-ci.org/Atry/DeepLearning.scala/jobs/318466522), no matter if they are blocking or not. There is also similar bug in Intel's OpenCL implementation As a workaround, always enable this HandleEventInExecutionContextForIntelAndAMDPlatform for Intel's and AMD's OpenCL implementation.

Linear Supertypes
OpenCL, DefaultCloseable, MonadicCloseable[UnitContinuation], AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HandleEventInExecutionContextForIntelAndAMDPlatform
  2. OpenCL
  3. DefaultCloseable
  4. MonadicCloseable
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type CommandQueue = OpenCL.CommandQueue[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  2. type DeviceBuffer[Element] = OpenCL.DeviceBuffer[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type, Element]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  3. type DeviceId = OpenCL.DeviceId[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  4. type Event = OpenCL.Event[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  5. type Kernel = OpenCL.Kernel[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  6. type PlatformId = OpenCL.PlatformId[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  7. type Program = OpenCL.Program[HandleEventInExecutionContextForIntelAndAMDPlatform.this.type]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL

Abstract Value Members

  1. abstract def acquireCommandQueue: Do[CommandQueue]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  2. abstract val deviceIds: Seq[DeviceId]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  3. abstract val executionContext: ExecutionContext

    Permalink
    Attributes
    protected
  4. abstract def handleOpenCLNotification(errorInfo: String, privateInfo: Option[ByteBuffer]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  5. abstract val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  6. abstract val platformId: PlatformId

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to any2stringadd[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (HandleEventInExecutionContextForIntelAndAMDPlatform, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to ArrowAssoc[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def allocateBuffer[Element](size: Long)(implicit memory: Memory[Element]): Do[DeviceBuffer[Element]]

    Permalink

    Returns an uninitialized buffer of Element on device.

    Returns an uninitialized buffer of Element on device.

    Attributes
    protected
    Definition Classes
    OpenCL
  7. def allocateBufferFrom[Element, HostBuffer](hostBuffer: HostBuffer)(implicit memory: Aux[Element, HostBuffer]): Do[DeviceBuffer[Element]]

    Permalink

    Returns a buffer of Element on device whose content is copied from hostBuffer.

    Returns a buffer of Element on device whose content is copied from hostBuffer.

    Attributes
    protected
    Definition Classes
    OpenCL
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. lazy val context: Long

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  11. def createCommandQueue(deviceId: DeviceId, properties: Map[Int, Long]): CommandQueue

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  12. def createKernel(program: Program): Kernel

    Permalink

    Creates single kernel from this Program.

    Creates single kernel from this Program.

    Attributes
    protected
    Definition Classes
    OpenCL
    Exceptions thrown

    com.thoughtworks.compute.OpenCL.Exceptions.InvalidValue if the this Program has more than one kernel.

  13. def createKernels(program: Program): Seq[Kernel]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  14. def createProgramWithSource(sourceCode: TraversableOnce[CharSequence]): Program

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  15. def defaultProgramOptions: CharSequence

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  16. lazy val deviceCapabilities: (DeviceId) ⇒ CLCapabilities

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  17. def dispatch(command: (CommandQueue) ⇒ Do[Event]): Do[Event]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  18. def enqueueReadBuffer[Element, Destination](commandQueue: CommandQueue, deviceBuffer: DeviceBuffer[Element], hostBuffer: Destination, preconditionEvents: Event*)(implicit memory: Aux[Element, Destination]): Do[Event]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  19. def ensuring(cond: (HandleEventInExecutionContextForIntelAndAMDPlatform) ⇒ Boolean, msg: ⇒ Any): HandleEventInExecutionContextForIntelAndAMDPlatform

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to Ensuring[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: (HandleEventInExecutionContextForIntelAndAMDPlatform) ⇒ Boolean): HandleEventInExecutionContextForIntelAndAMDPlatform

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to Ensuring[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. def ensuring(cond: Boolean, msg: ⇒ Any): HandleEventInExecutionContextForIntelAndAMDPlatform

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to Ensuring[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. def ensuring(cond: Boolean): HandleEventInExecutionContextForIntelAndAMDPlatform

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to Ensuring[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  23. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  24. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  25. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to StringFormat[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  27. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  28. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  29. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  30. def monadicClose: UnitContinuation[Unit]

    Permalink
    Definition Classes
    OpenCL → DefaultCloseable → MonadicCloseable
  31. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  34. lazy val platformCapabilities: CLCapabilities

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  35. def platformIds: Seq[PlatformId]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  36. def releaseContext: UnitContinuation[Unit]

    Permalink
    Attributes
    protected
    Definition Classes
    OpenCL
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  38. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  39. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. def waitForStatus(event: Event, callbackType: Status): UnitContinuation[Status]

    Permalink
    Attributes
    protected
    Definition Classes
    HandleEventInExecutionContextForIntelAndAMDPlatformOpenCL
  43. def [B](y: B): (HandleEventInExecutionContextForIntelAndAMDPlatform, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from HandleEventInExecutionContextForIntelAndAMDPlatform to ArrowAssoc[HandleEventInExecutionContextForIntelAndAMDPlatform] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from OpenCL

Inherited from DefaultCloseable

Inherited from MonadicCloseable[UnitContinuation]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from HandleEventInExecutionContextForIntelAndAMDPlatform to any2stringadd[HandleEventInExecutionContextForIntelAndAMDPlatform]

Inherited by implicit conversion StringFormat from HandleEventInExecutionContextForIntelAndAMDPlatform to StringFormat[HandleEventInExecutionContextForIntelAndAMDPlatform]

Ungrouped