ArrayFire v2.1 Official Release

Aaron TaylorAnnouncements, ArrayFire, CUDA, OpenCL Leave a Comment

arrayfire_logo_whitebkgnd

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 for Java
      ArrayFire for R!
      ArrayFire for Fortran*
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
Coordinate transformation (homogeneous transformation) functions
      transform_coords()
           Up to 3D homogeneous transformations
      rotate_coords()
           rotation matrix wrapper for homogeneous coordinate transformation

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!

Leave a Reply

Your email address will not be published. Required fields are marked *