JavaCL v1.0-beta-6 is available !
[JavaCL v1.0-beta-6 is available !
Here are the main changes from this new version :
- Fixed support of ATI Stream 2.3, with limitations : images don’t seem to work on CPUs yet (even with the CPU_IMAGE_SUPPORT environment variable set), and kernel binaries reading / writing is still flaky
- New interactive image kernel editor demo launchable from Java Web Start : lets you edit and test image kernels in a snap (bundled with a few samples)
- Added CLContext.createProgram(Map) to create from saved binaries (contribution from Kazo Csaba, issue #30)
- Added automatic and transparent program binaries caching, yielding faster load times after the first execution (disabled by default on ATI Stream, can force on/off with property -Djavacl.cacheBinaries=true/false, environment variable JAVACL_CACHE_BINARIES=1/0 or methods CLContext.setCacheBinaries and CLProgram.setCached)
- Kernels can now include files that are in the classpath (+ added CLProgram.addInclude that accepts directories and base URLs)
- JavaCL.createBestContext now takes an ordered list of CLPlatform.DeviceFeature enums that help prioritize the features considered as “best” (list can be empty or contain any of CPU, GPU, DoubleSupport, MaxComputeUnits, NativeEndianness, ImageSupport, MostImageFormats…). These features are preferences, not requirements : with createBestContext(GPU, MaxComputeUnits) you might end up getting a CPU-based context if there’s no GPU available, but you’ll have the most powerful GPU (in terms of compute units) if there are two of them.
- Added LibCL : growing collection of OpenCL functions that can be included from any JavaCL kernel
- CLKernel.enqueueNDRange has a new overload without localWorkSizes argument (it’s then adjusted to a good value by the OpenCL implementation).
- Added CLProgram.addBuildOption(String)
- Fixed CLBuffer.copyTo
- Demos now use the latest jogamp JOGL binaries (see the updated build instructions)
- OpenCL-accelerated collections with filter, map, zip, zipWithIndex operations
- Translation of Scala closures to OpenCL code thanks to a compiler plugin
- Optimization of general Scala loops on Array, List and ranges (not tied to OpenCL whatsoever)
From now on, ScalaCL will have its own release schedule, separate from JavaCL.
Please join the NativeLibs4Java Google Group to discuss JavaCL / ScalaCL, get the latest news and ask for support from the growing JavaCL community.