OpenCL - Interface allowing R to use OpenCL
NEWS for the OpenCL package
0.1-4 (under development)
o devices with very long extensions strings could cause error
on retrieval. Fixed with larger static buffer.
(Thanks to Valerio Aimale again)
o Improve error reporting by always including the OpenCL
o fix a bug causing device enumeration to use the default
device for device count regradless of the specified type.
This affects only systems with more than one type of device.
(Thanks to Valerio Aimale for reporting)
o added dim argument to oclRun() which allows multidimensional
indexing (up to 3d) in the kernel. The dimensions can be
obtained in the kernel via get_global_size() and the index
values with get_global_id(). Note that using index vectors
instead of multidimensional indexing may perform better
depending on the device. The default is to use single
dimension (dim=size) which is the same as previous versions of
o add precision="best" in oclSimpleKernel which switches
automatically to double-precision if supported by the device
o kernels objects are now less cryptic - they implement
print(), names() and $ methods for access to their attributes.
o add the support for asynchronous calls, i.e., execution
parallel to the CPU or multiple parallel GPU operations.
This is done by using x <- oclRun(..., wait=FALSE) to
dispatch the kernel and then oclResult(x) to collect the
o minor cleanup
o improve memory management and clean up on error in oclRun()
o use CL_MEM_USE_HOST_PTR instead of clEnqueueWriteBuffer() for
better performance on large input vectors
o add support for native single precision representation
(see ?clFloat and native.result argument in oclRun())
o added INSTALL file with links to common OpenCL implementations
o first public release
includes support for single and double precision computations
as well as simple kernels (one output vector, arbitrary input)