It's that time again—we're pleased to announce the release of our newest version of ArrayFire: ArrayFire v2.1.
ArrayFire v2.1 is now bigger, faster, and stronger, thanks to some key function additions, API changes, feature improvements, and bug fixes.
ArrayFire is a CUDA and OpenCL library designed for maximum speed without the hassle of writing time-consuming CUDA and OpenCL device code. With ArrayFire’s library functions, developers can maximize productivity and performance. Each of ArrayFire’s functions has been hand-tuned by CUDA and OpenCL experts.
Major Updates
- Support for CUDA 6.0
- Support for Mac OS X
- New language support (available on github)
- ArrayFire Extras on Github
- All language wrappers
- Rolling updates to examples
- OpenGL interop example *ArrayFire for Fortan has been removed from the installed library, but can be downloaded from the ArrayFire Extras GitHub page linked above.
Function Additions
- Image transformation (warp affine) functions
- transform()
- affine and inverse affine transform of an image
- translate()
- translate an image using affine transforms
- scale()
- scale an image using affine transforms
- skew()
- skew an image using affine transforms
- transform()
- Coordinate transformation (homogeneous transformation) functions
- transform_coords()
- Up to 3D homogeneous transformations
- rotate_coords()
- rotation matrix wrapper for homogeneous coordinate transformation
- transform_coords()
API Changes
- rotate()
- Added optional 4th parameter `recenter`
- af_filter removed
Feature Improvements
- approx1() and approx2() now support nearest interpolation
- rotate(), resize(), convolve() work for stack of images(3D) and gfor
- new indexing functions to add support for 4-th dimension gfor
- host pinned memory support for OpenCL
Bug Fixes
- loadimage()
- fixed bug with grayscale image reading
- gaussiankernel()
- fixed computation of gaussian kernel values
- resize()
- fixed resize in OpenCL
- medfilt()
- fixed to handle more data types
- rotate()
- fixed rounding issue on Tahiti GPUs
- approx1()
- fixed for gfor use
- flip()
- fixed launch configuration
- indexing now works on intel GPUs
Performance Improvements
- rotate() rewritten to improve performance
Visit our sleek, new documentation to see ArrayFire in action and to view the complete list of all the enhancements available with ArrayFire v2.1.
While you're at it, be sure to check out our ArrayFire licensing information to learn more about which licensing option would be the best for your needs.
Just getting started with GPU computing? Need an extra hand on a project? Tap into our deep parallel computing expertise and vast code base by setting up a free technical consultation today.
We’re always looking to make ArrayFire even better—let us know your thoughts through this short survey. We promise it’ll be worth your while!
