A cl_mem whose CL_MEM_TYPE is buffer CL_MEM_OBJECT_BUFFER.
A cl_mem whose CL_MEM_TYPE is buffer CL_MEM_OBJECT_BUFFER.
The underlying cl_mem
.
comment out extends AnyVal
in case of https://github.com/scala/bug/issues/10647
A plug-in that retains every Event created by clEnqueueReadBuffer
and waiting at least one second before releasing it.
A plug-in that retains every Event created by clEnqueueReadBuffer
and waiting at least one second before releasing it.
This is a workaround for https://github.com/ThoughtWorksInc/Compute.scala/issues/51
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.
Make the calls to createKernels and createKernel synchronized.
Make the calls to createKernels and createKernel synchronized.
If you are using Intel OpenCL SDK, you will need this plug-in as a workaround
Author:
杨博 (Yang Bo)