I am thinking about asking my boss for a good GPU, in order to perform computing with matlab parallel processing toolbox.
However, after some simple tests on a colleague’s computer, on a NVidia Quadro 600. I get very poor performance gain (between 1x and 2x).
I am especially interested in doing convolutions on n-d arrays.
Do someone have a similar experience, doing computing with gpuArray and so on?
What performance gain can I expect?
What GPU model should I buy (less than 1000$, hopefully less than 400$)?
The performance of the
gpuArrayin MATLAB is driven by several factors:Here’s an example of some benchmarks on the excellent ‘Walking Randomly’ blog: http://www.walkingrandomly.com/?p=3634 . These show the kinds of speedup one might expect in reasonable applications – i.e. ~5x to 10x is plausible, much more than that is rare.
(If you’d like to see one of those rare examples, the Mandelbrot set on the GPU programmed using
gpuArrays andarrayfunruns about 1500x faster than the CPU: http://www.mathworks.com/products/demos/parallel-computing/paralleldemo_gpu_mandelbrot/paralleldemo_gpu_mandelbrot.html?product=DW )