In this post, we would like to introduce our latest & newest language bindings for ArrayFire library: ArrayFire-Rust – Rust bindings for ArrayFire. We have been working on the wrapper and using it in daily production within the company for the last few months and now regard it stable enough for public distribution. How to use ArrayFire from crates.io To use the rust bindings for ArrayFire from crates.io, the following requirements are to be met first: Download and install ArrayFire binaries based on your operating system. If you are on Linux or OSX, set the environment variable AF_PATH to point to ArrayFire installation root folder. (This is automatically set for you on Windows.) Make sure you add the path to …
ArrayFire: Open-source for one year!
Its hard to believe, but our ArrayFire accelerated computing library was open-sourced a year ago! While we were packing up our booth to head to SuperComputing 2015 my colleagues started reminiscing on how much our company and library have changed over the last year. ArrayFire the library In terms of raw statistics, the ArrayFire library is a really active project given that GPU computing is still seen as a niche field. Since its inception, ArrayFire has received 3285 commits from 31 developers (11 of which are our employees) and produced nine (public) releases. At present we have 84 watchers, 1141 stars, and 160 forks of our code. In the last year we have had a total of 1105 opened issues. Of these, 427 …
Feature detection on Xilinx FPGAs using OpenCL
Today at SuperComputing 2015, ArrayFire demonstrated its first FPGA-accelerated application running on a Xilinx FPGA using OpenCL. In May 2015, ArrayFire became a Xilinx Alliance member which provided us early access to the Xilinx SDAccel Development Environment within initial support for OpenCL. We helped Xilinx test and improve its OpenCL implementation and make it more accessible to first-time users. Over the last few months, we implemented several programs for the FPGA and subsequently learned a lot about optimizing OpenCL kernels to take advantage of pipelining, wide memory busses, and the various forms of configurable local memory offered on Xilinx hardware. Our first fully ported application is from computer vision: the FAST feature extractor. FAST finds corners in image. In the image below, the left side shows a frame from …
ArrayFire at SC15
SC15 is almost here! We’re getting excited to head down to Austin, Texas, to be a part of this excellent conference. It’s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here’s a quick run-down of where we’ll be. Visit our booth. We’re booth #2229. We’ll be showing off our latest demos and our engineers will be available for questions. Ask your questions, meet the team, or just bounce some ideas. Try our in-booth tutorials. Want to learn how to use ArrayFire to accelerate your code? Stop by and receive an in-booth tutorial from one of our ArrayFire experts. We’ll show you how the open source ArrayFire software library makes programming GPUs and …
Setting up an ArrayFire Project on OSX
Continuing our blog series “Learning ArrayFire from scratch” today we will discuss how to set up an ArrayFire project on OSX using XCode, CMake, or Makefiles.
Setting up an ArrayFire project on Windows
Continuing our blog series “Learning ArrayFire from scratch” today we will discuss how to set up an ArrayFire project on Windows using Visual Studio or CMake.
Setting up an ArrayFire project on Linux
Continuing our blog series “Learning ArrayFire from scratch” today we will discuss how to set up an ArrayFire project on Linux using CMake or standard makefiles.
Learning ArrayFire from scratch: Installation
Recently one of our interns completed his project ahead of schedule and asked if he could spend some time writing a particle filtering demo in ArrayFire for use at our upcoming trade shows. While learning the ins and outs of ArrayFire he posed several excellent questions which prompted us to start a series of blog posts entitled “Learning ArrayFire from scratch” that are geared to first-time users of our library. In today’s post I will cover the installation process on Windows, Mac, and Linux. Our next post will discuss the basics of setting up your first ArrayFire project.
ArrayFire v3.1 Official Release
Today we are pleased to announce the release of ArrayFire v3.1. This new version features new functional support with a focus on computer vision and machine learning functions added to the library, along with new support for Array and Data Handling functions. This release also includes support for CUDA 7.5. A complete list of ArrayFire v3.1 updates and new features can be found in the product Release Notes. With over 8 years of continuous development, the open source ArrayFire library is the top CUDA and OpenCL software library. ArrayFire supports CUDA-capable GPUs, OpenCL devices, and other accelerators. With its easy-to-use API, this hardware-neutral software library is designed for maximum speed without the hassle of writing time-consuming CUDA and OpenCL device code. …
Building an ArrayFire program with CMake
Introduction In the last week there were a few questions about how to use ArrayFire with CMake on Linux on the ArrayFire Google Groups page. Although we have some quick notes about this in the documentation I thought it would be fun to provide a fully worked example that demonstrates a cool CMake trick to reduce compilation time by a factor of three when linking against multiple backends. At the bottom of this post is a link to a GitHub repository containing a minimal CMake project setup which links a program against ArrayFire’s CPU, OpenCL, and CUDA backends.