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 gpuArray
in 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 gpuArray
s and arrayfun
runs about 1500x faster than the CPU: http://www.mathworks.com/products/demos/parallel-computing/paralleldemo_gpu_mandelbrot/paralleldemo_gpu_mandelbrot.html?product=DW )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With