Custom Kernels with ArrayFire

Pavan YalamanchiliArrayFire, C/C++, CUDA, OpenCL Leave a Comment

As extensive as ArrayFire is, there are a few cases where you are still working with custom CUDA or OpenCL kernels. For example, you may want to integrate ArrayFire into an existing code base for productivity or you may want to keep it around the old implementation for testing purposes. In this post we are going to talk about how to integrate your custom kernels into ArrayFire in a seamless fashion. In and Out of ArrayFire First let us look at the following code and then break it down bit by bit. int main() { af::array x = af::randu(num, 1); af::array y = af::array(num, 1); float *d_x = x.device(); float *d_y = y.device(); af::sync(); launch_simple_kernel(d_y, d_x, num); x.unlock(); y.unlock(); float err = …

https://www.youtube.com/watch?v=ZQVzXaOWSZ0

In Case you Missed it: ArrayFire Joint Webinar with AMD

Oded GreenEvents, OpenCL Leave a Comment

ArrayFire recently gave two webinar presentations to OpenCL developers as part of a joint webinar series with AMD. Due to popular demand for the first webinar, we ended up presenting a second! In case you missed it, here’s a recording of the webinar complete with the presentation and an informative Q&A session:  http://bit.ly/SkzIJs This webinar focused on enhancing productivity by using existing OpenCL libraries while achieving a high level of performance and maximizing system utilization. We demonstrated how our ArrayFire software library offers simple GPU programming with the benefit of awesome performance. In the webinar we showed how to use several image processing and computer vision building blocks in less than 3 lines of code.  The immediate takeaway message of …

Getting Started with OpenCL on Android

Pradeep GarigipatiAndroid, Java, OpenCL 12 Comments

Mobile devices are carving their niche into the world of computing with more processing power day by day. GPUs on mobile devices have been around for a while, but using them for accelerating computation is still quite new. Until recently, the only way to access the GPU was through OpenGL. Around december 2008, Khronos released OpenCL, a generic API for accelerating non-graphics tasks. OpenCL enables us to take advantage of acceleration hardware. Since it is an open standard, many hardware vendors provide support on their devices. With the recent release of Adreno and Mali SDKs, you can now run OpenCL code on mobile GPUs. Today’s post is going to be about how to do image processing on camera feed on …

Joint Webinar with AMD: An Introduction to OpenCL Libraries

ScottAnnouncements, ArrayFire, Events, OpenCL Leave a Comment

Back by popular demand! You’re invited to join us for a second webinar held jointly with AMD to discuss productive OpenCL Programming – An Introduction to OpenCL Libraries. We had so many people attend the first one, we decided to hold a second webinar! The webinar will be held on Monday, May 19 at 9 am PT / 11 am CT / 12 pm ET. Join ArrayFire COO Oded Green as he demonstrates best practices to help you quickly get started with OpenCL programming.  Learn how to get the best performance from AMD hardware in various programming languages using the ArrayFire library. Oded will discuss the latest advancements in the OpenCL ecosystem, including cutting edge OpenCL libraries such as clBLAS, clFFT, clMAGMA and ArrayFire. …

ArrayFire v2.1 Official Release

Aaron TaylorAnnouncements, ArrayFire, CUDA, OpenCL Leave a Comment

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       …

ArrayFire v2.0 Official Release

ScottAnnouncements, ArrayFire, CUDA, OpenCL 1 Comment

We are thrilled to announce the official release ArrayFire v2.0, our biggest and best product ever! ArrayFire v2.0 adds full commercial support for OpenCL devices including all AMD APUs and AMD FireProTM graphics, CUDA GPUs from NVIDIA, and other OpenCL devices from Imagination, Freescale, ARM, Intel, and Apple. 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. Announcing ArrayFire for OpenCL Support for all of ArrayFire’s function library (with a few exceptions) Same API as ArrayFire for CUDA enabling seamless interoperability Just-In-Time (JIT) compilation of …

Partners Magnify the SC13 Experience

John MelonakosArrayFire, Events 1 Comment

Yesterday, we posted photos from our exhibit. Today was the last day of SC13, and we want to tip our hat to the wonderful partners that magnified our SC13 experience. Creative Consultants, Mellanox, and Allinea Creative Consultants ran an ArrayFire demo across several nodes using Mellanox interconnect. The demo was a multi-node, multi-GPU lattice boltzmann simulation. Allinea also showcased their debugging and profiling tools on the same ArrayFire based code. AMD ArrayFire OpenCL demos were showcased in the AMD exhibit. It was great to see momentum from AMD at SC13 carried over from the previous week’s APU13 conference. Microway In the photo below, you can see ArrayFire running on Microway’s WhisperStation. Microway had prime real estate at the conference and surely every …

Photos from SC13

John MelonakosArrayFire, CUDA, Events, OpenCL Leave a Comment

SC13 was awesome this week! Tomorrow is the last day of the exhibition. For those of you that did not make it to the show, here are some pictures from our exhibit: The AccelerEyes Booth ——————————————————————————————————– ArrayFire OpenCL Demo on ARM Mali ——————————————————————————————————– ArrayFire CUDA Demo on NVIDIA K40 ——————————————————————————————————– ArrayFire OpenCL Demo on Intel Xeon Phi Coprocessor ——————————————————————————————————– ArrayFire OpenCL Demo on AMD FirePro GPU ——————————————————————————————————– It was a great show and wonderful to see so many ArrayFire users in person. If you could not attend and would like to learn more about our CUDA or OpenCL products or services, let us know! Related articles ArrayFire v2.0 Release Candidate Now Available for Download Two Kinds of Exhibits to Watch …

APU 2013 – Day 3 Recap

John MelonakosComputing Trends, Events, OpenCL Leave a Comment

Big announcement here at #APU13! AMD CTO, Mark Papermaster, just announced 2 additions to the 2014 Mobile APU roadmap http://t.co/sWHMhb9AAe — AMD (@AMD) November 13, 2013 Today was the final day of AMD’s APU 2013 conference. The theme of today was mostly focused on gaming topics, so it was not as relevant to technical computing as yesterday. However, the mobile product announcement from AMD in the tweet above was interesting. OpenCL is just as important in mobile computing as it is in HPC computing. Both ends of the spectrum have a need for speed and can achieve it through great data parallelism. AMD is looking to make better inroads into mobile computing with these APU announcements. Overall, APU 2013 was a fantastic …

APU 2013 – Day 1 Recap

John MelonakosEvents, OpenCL Leave a Comment

AMD’s APU 2013 kicked off today with keynotes and a welcome reception. The developer summit is themed as the epicenter of heterogeneous computing. AMD has a world class CPU and a world class GPU and is pushing the industry forward by combining both of those devices into the same chip, the APU. AMD’s APUs are programmable via OpenCL, the industry standard for heterogeneous development. AMD is also leading the way with standards for Heterogeneous System Architecture (HSA). APU13 will have many technical sessions, keynotes, and demos around OpenCL and HSA. We are at the APU conference demoing ArrayFire acceleration on two of AMD’s newest hardware offerings: A machine with the latest AMD Radeon R9 209X discrete GPU A machine with the …