Specialized constructors that use OpenCL engine by default, and convenient macros for creating and maintaining engines in appropriate OpenCL context. A convenience over agnostic uncomplicate.neanderthal.core functions.
Dynamically bound OpenCL factory that is used in vector and matrix constructors.
(clge m n source options)
(clge m n arg)
(clge m n)
(clt n source options)
(clt n arg)
(clv x & xs)
Constructor of a double-precision floating point OpenCL factory.
Constructor of a single precision floating point OpenCL factory.
(with-default-engine & body)
Creates an OpenCL factory using the default OpenCL factory (single precision floating point), that works in the default OpenCL queue and context acquired through ClojureCL’s
*context* and command-queue` bindings. The created factory will be bound to *opencl-factory*.
(with-default (with-default-engine (with-release [gpu-x (clv (range 3))] (sum gpu-x))))
(with-engine factory queue & body)
Creates an OpenCL factory using the provided
factory constructor function. The created factory will work using the provided queue and its context, and will be bound to *opencl-factory*. Enables the use of clv, clge, cltr, etc. in its body.
(with-default (with-engine clblast-float *command-queue* (with-release [gpu-x (clv (range 3))] (sum gpu-x))))