Clojurecl 0.16.0
Released under the Eclipse Public License
ClojureCL is a Clojure library for parallel computations with OpenCL.
Installation
To install, add the following dependency to your project or build file:
[uncomplicate/clojurecl "0.16.0"]
Namespaces
uncomplicate.clojurecl.core
Core ClojureCL functions for OpenCL **host** programming. The kernels should be provided as strings (that may be stored in files), written in OpenCL C.
Public variables and functions:
- *command-queue*
- *context*
- *platform*
- build-program!
- cl-buffer
- cl-buffer?
- cl-sub-buffer
- command-queue
- command-queue-1
- context
- context-info
- context-properties
- devices
- enq-barrier!
- enq-copy!
- enq-fill!
- enq-kernel!
- enq-map-buffer!
- enq-marker!
- enq-read!
- enq-svm-map!
- enq-svm-unmap!
- enq-unmap!
- enq-write!
- event
- events
- finish!
- flush!
- host-event
- kernel
- legacy?
- num-devices
- num-kernels
- num-platforms
- platform-info
- platforms
- program-with-source
- register
- release-context!
- set-arg!
- set-args!
- set-context!
- set-default!
- set-default-1!
- set-platform!
- set-queue!
- set-status!
- sort-by-cl-version
- svm-buffer
- svm-buffer?
- with-context
- with-default
- with-default-1
- with-platform
- with-queue
- work-size
- work-size-1d
- work-size-2d
- work-size-3d
uncomplicate.clojurecl.info
Info functions for all OpenCL objects (platforms, devices, etc...).
Public variables and functions:
- address-bits
- arg-access-qualifier
- arg-address-qualifier
- arg-info
- arg-name
- arg-type-name
- arg-type-qualifier
- associated-memobject
- attributes
- available
- binaries
- binary-sizes
- binary-type
- build-info
- build-log
- build-options
- build-status
- built-in-kernels
- command-type
- compiler-available
- device-type
- device-version
- devices-in-context
- double-fp-config
- driver-version
- durations
- end
- endian-little
- error-correction-support
- event-command-queue
- event-context
- execution-capabilities
- execution-status
- flags
- function-name
- global-mem-cache-size
- global-mem-cache-type
- global-mem-cacheline-size
- global-mem-size
- global-variable-preferred-total-size
- global-variable-total-size
- icd-suffix-khr
- image-base-address-alignment
- image-max-array-size
- image-max-buffer-size
- image-pitch-alignment
- image-support
- image2d-max-height
- image2d-max-width
- image3d-max-depth
- image3d-max-height
- image3d-max-width
- InfoExtensions
- InfoName
- InfoProfile
- InfoProperties
- InfoReferenceCount
- InfoVendor
- kernel-context
- kernel-names
- kernel-program
- linker-available
- local-mem-size
- local-mem-type
- map-count
- max-clock-frequency
- max-compute-units
- max-constant-args
- max-constant-buffer-size
- max-global-variable-size
- max-mem-aloc-size
- max-on-device-events
- max-on-device-queues
- max-parameter-size
- max-pipe-args
- max-read-image-args
- max-read-write-image-args
- max-samplers
- max-work-group-size
- max-work-item-dimensions
- max-work-item-sizes
- max-write-image-args
- mem-base-addr-align
- mem-context
- mem-size
- mem-type
- native-vector-width-char
- native-vector-width-double
- native-vector-width-float
- native-vector-width-half
- native-vector-width-int
- native-vector-width-long
- native-vector-width-short
- num-args
- num-devices-in-context
- offset
- opencl-c-version
- parent-device
- partition-affinity-domain
- partition-max-sub-devices
- partition-properties
- partition-type
- pipe-max-active-reservations
- pipe-max-packet-size
- platform
- preferred-global-atomic-alignment
- preferred-interop-user-sync
- preferred-local-atomic-alignment
- preferred-platform-atomic-alignment
- preferred-vector-width-char
- preferred-vector-width-double
- preferred-vector-width-float
- preferred-vector-width-half
- preferred-vector-width-int
- preferred-vector-width-long
- preferred-vector-width-short
- printf-buffer-size
- profiling-info
- profiling-timer-resolution
- program-context
- program-devices
- program-num-devices
- program-num-kernels
- program-source
- queue-context
- queue-device
- queue-on-device-max-size
- queue-on-device-preferred-size
- queue-on-device-properties
- queue-on-host-properties
- queue-size
- queued
- single-fp-config
- spir-versions
- start
- submit
- svm-capabilities
- uses-svm-pointer
- vendor-id
- version
uncomplicate.clojurecl.internal.constants
Defines constants and mappings from/to OpenCL constants.
Public variables and functions:
- cl-command-execution-status
- cl-command-queue-properties
- cl-context-properties
- cl-device-affinity-domain
- cl-device-exec-capabilities
- cl-device-fp-config
- cl-device-mem-cache-type
- cl-device-svm-capabilities
- cl-device-type
- cl-kernel-arg-type-qualifier
- cl-local-mem-type
- cl-map-flags
- cl-mem-flags
- cl-svm-mem-flags
- dec-build-status
- dec-command-execution-status
- dec-command-type
- dec-context-properties
- dec-device-partition-property
- dec-error
- dec-kernel-arg-access-qualifier
- dec-kernel-arg-address-qualifier
- dec-mem-object-type
- dec-program-binary-type
uncomplicate.clojurecl.internal.utils
Utility functions used as helpers in other ClojureCL namespaces. The user of the ClojureCL library would probably not need to use any of the functions defined here.
Public variables and functions:
uncomplicate.clojurecl.toolbox
Various helpers that are not needed by ClojureCL itself, but may be very helpful in applications. See Neanderthal and Bayadera libraries for the examples of how to use them.
Public variables and functions: