uncomplicate.clojurecl.constants
Defines constants and mappings from/to OpenCL constants.
OpenCL API defines and uses numerous int/long C-style constants as arguments in functions calls, mostly for configuring various options. Clojure uses keywords as an user friendly alternative. ClojureCL’s core
namespace contains primitive functions suffixed with *
, which still accept the low level constants defined in org.jocl.CL
Java class, but the preferred, easier, and natural way is to use keywords. Another benefit of that method is that you can easily view available options by printing an appropriate hash-map from this namespace.
Most mappings are two-way. Hashmaps that convert keywords to number codes are named cl-something-clish
, while functions that convert numbers to keywords are named dec-something-clish
. You can see which keywords are available for a certain property by evaluate appropriate cl-something-clish
hashmap. All hashmaps and functions contain brief doc and a web link to appropriate online OpenCL documentation with detailed explanations
Also see the summary at http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/enums.html
cl-command-execution-status
Execution statuses of commands, defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetEventInfo.html
cl-command-queue-properties
On device command-queue properties defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-context-properties
Context properties defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-device-affinity-domain
Affinity domains for partitioning the device defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-device-exec-capabilities
The execution capabilities of the device defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-device-fp-config
Floating point capabilities of the device defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-device-mem-cache-type
Types of global memory cache defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-device-svm-capabilities
Context properties defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-device-type
Types of OpenCL devices defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceIDs.html
cl-kernel-arg-type-qualifier
Type quilifiers specified for the argument, defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetKernelArgInfo.html
cl-local-mem-type
Types of local memory defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
cl-map-flags
Map flags used in enqueuing buffer mapping defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clEnqueueMapBuffer.html
cl-mem-flags
Memory allocation and usage information defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clCreateBuffer.html
cl-svm-mem-flags
Memory allocation and usage information defined in OpenCL standard. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clSVMAlloc.html
dec-build-status
(dec-build-status code)
Converts cl_program_build_status
code from number to keyword. See https://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetProgramBuildInfo.html
dec-command-execution-status
(dec-command-execution-status code)
Converts cl_event_command_execution_status
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetEventInfo.html
dec-command-type
(dec-command-type code)
Converts cl_event_command_type
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetEventInfo.html
dec-context-properties
(dec-context-properties code)
Converts cl_context_properties
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
dec-device-partition-property
(dec-device-partition-property code)
Converts cl_device_partition_property
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetDeviceInfo.html
dec-error
(dec-error code)
Decodes OpenCL error code to a meaningful string. If called with a number that is not recognized as an existing OpenCL error, returns "UNKNOWN OpenCL ERROR!"
Also see the discussion at http://streamcomputing.eu/blog/2013-04-28/opencl-1-2-error-codes/
dec-kernel-arg-access-qualifier
(dec-kernel-arg-access-qualifier code)
Converts cl_kernel_arg_access_qualifier
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetKernelArgInfo.html
dec-kernel-arg-address-qualifier
(dec-kernel-arg-address-qualifier code)
Converts cl_kernel_arg_address_qualifier
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetKernelArgInfo.html
dec-mem-object-type
(dec-mem-object-type code)
Converts cl_mem_object_type
code from number to keyword. See http://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetMemObjectInfo.html
dec-program-binary-type
(dec-program-binary-type code)
Converts cl_program_binary_type
code from number to keyword. See https://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/clGetProgramBuildInfo.html