uncomplicate.clojurecl.internal.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