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 [again] to the best and easiest to use high-performance GPU library available¬†today. Congrats guys! 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 their own set of benchmarks using their updated routines. While the benchmarks I ran highlighted some performance issues in OpenCV - which the 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 down to see more comparisons... Update (10/24/2011): Round 2     Test system: [via /proc/cpuinfo]: Intel(R) Core(TM) i7 CPU 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 and enjoy it. Abstract: The graphics processing unit (GPU) is a specialized and highly parallel microprocessor designed to offload and accelerate 2D or 3D rendering from the central processing Read more [...]