* 3.5.1 blog post

We are excited to announce ArrayFire v3.5.1, our open-source library of
parallel computing functions supporting CUDA, OpenCL, and CPU devices. This
release focuses on fixing bugs and improving performance. Here are some of the
improvements available to you with this latest release:

*** CUDA grid limitations

We've squashed a long standing bug in the CUDA backend responsible for
breaking whenever the second, third, or fourth dimensions were large
enough to exceed limits imposed by the CUDA runtime.

*** Overflow-free ~mean()~

Our previous implementation of ~af::mean()~ suffered from overflows when the
summation of the values lied outside the range of the backing data type. New
kernels for each of our backends have been written to prevent this issue.

*** Workaround for Apple OpenCL bug

We have also written a workaround for a bug present in Apple's OpenCL
driver. The bug occurs when passing ~static const~ C arrays in to
~clEnqueueWriteBuffer()~. We have patched up ~af::canny()~ and are working on
releasing another patch which fixes several of our examples that are similarly
affected.

These are just a few of the improvements in ArrayFire v3.5.1, so be sure to
visit the release notes for more information.

** Future Releases

As always we are working on improving the performance of all of our
functions. This has been another exciting update to ArrayFire and we have
great plans for the next release. Stay tuned!

** Download

ArrayFire v3.5.1 can be downloaded from these locations:

- Binaries
- Source code

** Community

ArrayFire is continually improving through the addition of new functions and
features. We welcome your feedback:

- General discussion forums on the ArrayFire Google Group
- Live discussion chat on the ArrayFire Gitter
- Issue reports on the ArrayFire GitHub

As you find success with ArrayFire, we invite you to contribute a post to this
blog to share with the broader community. Email sales@arrayfire.com to
contribute to this blog.

** Dedicated Support and Coding Services

ArrayFire offers dedicated support packages for ArrayFire users.

ArrayFire serves many clients through consulting and coding services,
algorithm development, porting code, and training courses for
developers. Contact us at sales@arrayfire.com or schedule a free technical
consultation to learn more about our consulting and coding services.