views:

27

answers:

1

What do you think? What would be faster and how much faster: Doing sparse matrix (CSR) multiplication (with a vector) on the GPU or the CPU (multithreaded)?

A: 

My guess is that there would not be a big win with a GPU implementation, since you don't have the kind of homogeneous data structure that lends itself to embarallel processing.

Paul R
hmm I think you are right, but as usual there are scenarios in which using the GPU would be a win. Think of many matrix operations in parallel. On the CPU you are limited by the number of cores, which are typically less that on the GPU these days.However the double-precision math performance on the GPUs is generally not as fast as the floating-point operations. So it also depends on that.
GorillaPatch
@GorillaPatch: yes, all but the very latest nVidia GPUs have pretty bad or non-existent double precision performance, and even then it's still 2x slower than single precision. To get a big win on a GPU you ideally need to working with single precision floats and your algorithm needs to be highly parallelizable.
Paul R