In response to user requests for additional ArrayFire capabilities, we have decided to extend the library to have CPU fall back when OpenCL drivers for CPUs are not available. This means that ArrayFire code will be portable to both devices that have OpenCL setup and devices without it. This is done through the creation of additional backends. This will allow ArrayFire users to write their code once and have it run on multiple systems. We currently support the following systems and architectures: NVIDIA GPUs (Tesla, Fermi, and Kepler) AMD's GPUs, CPUs and APUs Intel's CPUs, GPUs and Xeon Phi Co-Processor Mobile and Embedded devices As part of this update process we are also looking at extending ArrayFire capabilities to low power systems such ...
At ArrayFire we like to use a lot of Free/Open Source software. We use various Linux distributions, Jenkins, Gitlab, gcc, emacs, vim and numerous other FOSS tools on a daily basis. We also love the idea of developing software collaboratively and openly. Last year we started working with AMD on CL Math Libraries. Internally we've had numerous discussions about contributing to the GPGPU community. However, it's neither simple nor straightforward to take a closed software Open Source. Earlier this year, we decided to take the first step and Open Source all of the ArrayFire library's tertiary projects. This includes all of our ArrayFire library's language wrappers, examples, and source code used for our blog posts. All of our projects are hosted at our ...
AccelerEyes and NVIDIA invite you to participate in a joint webinar designed to help you learn about ArrayFire, a productive, easy-to-use GPU software library for C, C++, and Fortran. Major defense and intelligence institutions are discovering just how effective GPU computing can be in enabling unique solutions for applications related to video analysis, recognition, and tracking. During this informative webinar, Kyle Spafford, a Senior Software Developer at AccelerEyes, will explain how to accelerate common defense and intelligence algorithms using ArrayFire. The webinar will take place on Tuesday, September 17, 2013 at 10:00 AM PDT. Register for this webinar by clicking here. We hope you will join us as we discuss exciting developments in GPU computing software!
In case you missed it, we recently held a webinar on the ArrayFire GPU Computing Library and its applications to Defense and Intelligence functions. Defense projects often have hard deadlines and definite speed targets, and ArrayFire is a fast and easy-to-use choice for these applications. This webinar was part of an ongoing series of webinars that will help you learn more about the many applications of Jacket and ArrayFire, while interacting with AccelerEyes GPU computing experts. John Melonakos, our CEO, introduced ArrayFire and talked about some exciting recent customer successes in the field of defense. He then ran through the mechanics of compiling and running code on a machine with 2 Quadro 6000 GPUs, and talked about customer success stories. ...
Last week, Steve Scott at NVIDIA put up a viral post entitled, "No Free Lunch for Intel MIC (or GPU’s)." It was a great read and a big hit in technical computing circles. The centrepiece of Scott's piece was to say that there are no magic compilers. GPUs don't have them, and neither will MIC. No compiler will be able to automatically recompile existing code and get great performance from MIC or GPUs. Rather, it takes a good amount of elbow grease to write high-performance code. We totally agree. The problem Scott addresses is real. Despite marketing spin to the contrary, developing code for GPUs requires work. However, we don't agree with Scott's conclusion that compiler directives are a good solution. You can't fight ...
ArrayFire is a fast GPU library that off-loads compute intensive tasks onto many-core GPUs, thereby reducing application runtime and accelerating it many times. ArrayFire is built on top of NVIDIA CUDA software stack which is currently the best and most stable GPU Software Development Kit available for GPU-based computing. ArrayFire comes with a huge set of functions that span across various domains like image processing, signal processing, financial modeling, applications requiring graphics support. ArrayFire has an array based notation (supports N-dimensional arrays) and allows sub-referencing and assignment into these multi-dimensional arrays. The following code snippet shows how you can index into array objects.
// Generate a 3x3 array of random numbers on the GPU
array A = randu(3,3);
array a1 = A(0); // first element
array a2 = A(0,1); // first row, second column
A(end); // last element
A(-1); // also last element
A(end-1); // second-to-last element
A(1,span); // second row
A.row(end); // last row
A.cols(1,end); // all but first column
// setting entries in an array to a constant
A(span) = 4; // fill entire array
A.row(0) = -1; // first row
A(seq(3)) = 3.1415; // first three elements
// copy in another matrix
array B = ones(4,4,f64);
B.row(0) = randu(1,4,f32); // set a row to random values (also upcast)
ArrayFire also has a premium version called ArrayFire Pro that adds other capabilities to the basic ...
The question above comes from María (@turbonegra). She follows us @accelereyes. Many of you are wondering when ArrayFire support for new CUDA version 4.1 will be released. The answer: work is currently under way. CUDA 4.1 includes a new Fermi compiler, and many people in the GPU ecosystem have reported slowdowns from upgrading to the new CUDA version. So we've delayed releasing ArrayFire and Jacket support for CUDA 4.1 because we want to verify performance and reliability across all our unit tests, performance regressions, and customer code samples. Our tests sweep across various driver versions and everything from mobile GeForce cards through server-grade Tesla and Fermi chips. We are still working through the testing and verification at the moment. While ...
A free, fast, and simple GPU library for CUDA and OpenCL devices. AccelerEyes announces the launch of ArrayFire, a freely-available GPU software library supporting CUDA and OpenCL devices. ArrayFire supports C, C++, Fortran, and Python languages on AMD, Intel, and NVIDIA hardware. Learn more by visiting the ArrayFire product page. "ArrayFire is our best software yet and anyone considering GPU computing can benefit," says James Malcolm, VP Engineering at AccelerEyes. "It is fast, simple, GPU-vendor neutral, full of functions, and free for most users." Thousands of paying customers currently enjoy AccelerEyes’ GPU software products. With ArrayFire, everyone developing software for GPUs has an opportunity to enjoy these benefits without the upfront expense of a developer license. Reasons to use ArrayFire: ...