ClojureCL - notable changes between versions
- Use built-in work group reduction provided by the platform instead of custom implementation
(prior to rocm, the built impl was much slower).
- default-platform prefers a platform with 2.0+ GPU devices.
- Support ROCm OpenCL implementation.
- enq-nd! renamed to enq-kernel!
- XXX* methods moved to internal implementation namespace.
- OpenCL 1 functions moved from legacy namespace to core.
- Wrapped/Wrappable protocols introduced.
- JOCL objects are now wrapped to protect them from (accidental) repeated memory releases.
- Improved info.
- Simplified toolbox enq-reduce for 2D reductions
- Enhanced error info details.
- Removed vertigo dependency.
- Updated to Java 9 modules. Requires add-open jvm argument.
- Clojure dep updated to 1.9.0
- Fixed vertigo dependency.
- In info method, when device does not support specific information, exception cause is displayed instead of the ex-info object.
- Added legacy? method to core.
with-default-1 tries to get the best device, same as with-default
Fixed https://github.com/uncomplicate/clojurecl/issues/12
Fix core namespace imports in legacy.clj.
Fixed https://github.com/uncomplicate/clojurecl/issues/10
Bugfixes:
Fixed https://github.com/uncomplicate/clojurecl/issues/9
- Added support for OS X
- Toolbox enq-reduce improved and simplified
New features
- Now uses Realeaseable functions from uncomplicate/commons
New features
- sort-by-open-cl function orders devices by the version of OpenCL that they support.
- with-default function sorts devices before taking first.
New features
- New namespace for useful kernel helpers named toolbox
- specialized work-size-Xd functions
Bugfixes
- map-buffer now correctly returns an empty ByteBuffer when reqested size is 0.
New features
- set-args! now accept optional index to start from.
Breaking changes
- opencl-2 setting removed. A new namespace legacy has been created to
contain things required in older versions of OpenCL, but unsupported in the current
version. Legacy function command-queue-1 introduced to support cases when you
need to support pre-2.0 platforms. For code that already targeted OpenCL 2.0,
nothing needs to be changed. Other code needs to replace all
calls to command-queue to the calls of command-queue-1 and with-default to
with-default-1.
Bugfixes:
- Fixed a possible buffer overflow in enq-map-buffer when offset is greater than 0.
New features:
- implemented enq-fill! function
Bugfixes:
- Primitive arrays now return Mem/size in bytes instead of count of elements
Bugfixes:
- Moved dependency to vertigo from :dev to main classpath in project.clj