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

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

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