uncomplicate.clojurecl.internal.protocols
Argument
protocol
Object that can be argument in OpenCL kernels. Built-in implementations: [[CLBuffer]], java numbers, primitive arrays and `ByteBuffer`s.
members
set-arg
(set-arg arg kernel n)
Specific implementation of setting the kernel arguments.
CLMem
protocol
A wrapper for `cl_mem` objects, that also holds a `Pointer` to the cl mem object, context that created it, and size in bytes. It is useful in many functions that need that (redundant in Java) data because of the C background of OpenCL functions.
members
enq-copy*
(enq-copy* this queue dst src-offset dst-offset cb wait-events ev)
A specific implementation for copying this `cl-mem` object to another cl mem.
enq-fill*
(enq-fill* this queue pattern offset multiplier wait-events ev)
A specific implementation for filling this `cl-mem` object.
Mem
protocol
An object that represents memory that participates in OpenCL operations. It can be on the device ([[CLMem]]), or on the host. Built-in implementations: cl buffer, Java primitive arrays and `ByteBuffer`s.
members
ptr
(ptr this)
JOCL `Pointer` to this object.
size
(size this)
Memory size of this cl or host object in bytes.
SVMMem
protocol
A wrapper for SVM Buffer objects, that also holds a context that created it, `Pointer`, size in bytes, and can create a `ByteBuffer`. It is useful in many functions that need that (redundant in Java) data because of the C background of OpenCL functions.
members
byte-buffer
(byte-buffer this)
(byte-buffer this offset size)
Creates a Java `ByteBuffer` for this SVM memory.
enq-svm-copy
(enq-svm-copy this)
Wrappable
protocol
members
wrap
(wrap this)