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!

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

GPU Connected Component Labeling

Connected Component Labeling (CCL): “is used in computer vision to detect connected regions in binary digital images”, and sometimes referred to as blob coloring. Motivation: To keep AccelerEyes’ ever expanding GPU library growing, over a few weeks of this summer I took on the project of writing a CUDA version of connected component labeling to be used in … 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.    

Misc CUDA + OpenCV Fun : Sobel Filter

March 2010 I recently started playing with the Nvidia CUDA SDK Samples involving image processing. I extracted the SobelFilter kernel and made it run off my USB webcam using OpenCV – the two live modes are single-channel-gray and three-channel-rgb. I wrote two different basic kernels on my own that did binary thresholding and found the most dominant RGB value. Now on Google Code! cam-cuda-sobel