ArrayFire is now Open Source

The ArrayFire GPGPU Computing Library has just been released as open source software! As a former employee of ArrayFire (AccelerEyes), I am especially excited about this decision! 🙂 It’s so cool to see the this library continue to grow; this is only the beginning of the potential for ArrayFire! I can’t wait to start contributing … Read more

ArrayFire GTC 2012 Presentations

I got another incredible opportunity to give two introductory talks at Nvidia’s 2012 GPU Technology Conference about AccelerEyes‘s two software products: Jacket(MATLAB) and ArrayFire(C++) ! Jacket for Multidimensional Scaling in Genomics –  Video  |  Slides ArrayFire Graphics: A Tutorial –  Video  |  Slides   Enjoy!

Laplacian Pyramid Image Enhancement

My final project for the Computational Photography class at GaTech. Multi-scale image contrast/detail manipulation Operating on images at multiple scales is conventionally done using multi-scale decompositions, such as the Laplacian pyramid [Burt and Adelson 1983]. Such techniques decompose an image to multiple detail layers at different scales in a pyramid like fashion. This project demonstrates how … Read more

GPU TV-L1 Optical Flow with ArrayFire

Update 1: LibJacket has been renamed to  ArrayFire. Update 2: Huang Chao-Hui was nice enough to port the LibJacket code mentioned here to ArrayFire – see his work here. As one of my Computer Vision class projects, I decided to implement optical flow, because I wanted to learn more about optical flow, and also I wanted to code it … Read more

GPU Convolutions: OpenCV GPU and LibJacket – Part 2

This is a response to my earlier post comparing OpenCV’s gpu::convolve() and LibJacket’s jkt::conv2() convolution functions, at various image and kernel sizes. That post generated a lot of traffic, most notably from the OpenCV developer community. Taking note of this, it seems that the folks at Willow Garage have re-vamped their GPU convolutions and posted … Read more

OpenCV vs. LibJacket: GPU Sobel Filtering

Update: LibJacket has been renamed to  ArrayFire. In response to a comment on a previous post about integrating LibJacket into an OpenCV project, below is just a simple FYI performance comparison of OpenCV‘s GPU Sobel filter versus LibJacket‘s conv2 convolution filter (with a sobel kernel)… This is an evolutionary post, so be sure to scroll all the way … Read more

The History and Evolution of GPU Hardware

Here is a paper survey I wrote last semester in my CS6290 class about how the Graphics Processing Units (GPUs) hardware architecture has evolved over time. I found the research quite interesting, and spent a lot of time doing it. I’m posting this here, as I feel that more people than my professor should read … Read more

UROC GPGPU Poster

April 2010 I find graphics card programming fascinating. I presented a UROC Poster on GPGPU Molecular Dynamics analysis and visualization on the GPU at the 2010 Georgia Tech Undergraduate Research Symposium. I also had a cool demo set up of the system running (above), along with my Android bonds visualization client.