Dylan Beaudette dylan.beaudette at gmail.com
Wed Mar 12 13:11:04 EDT 2008

On Tuesday 11 March 2008, Glynn Clements wrote:
> Dylan Beaudette wrote:
> > Of course, as GPU's become faster
> > far more quickly than CPU's and the PCI Express interface improves, it
> > will make more sense to offload large processing to GPU's. "
> This presumes that you actually *have* a GPU.

Of course. However most desktop machines come standard with some sort of 
accelerated video hardware.

> Many servers only have very basic graphics hardware. Even with desktop
> systems, there's a huge performance difference between budget systems
> (with e.g. integrated graphics or a £20 card) and "gaming" systems
> with a £300 card.

According to some of the documentation on the libsh and brook sites you don't 
need top of the line card to notice a performance boost.

> Also, the difference between various GPUs (even different models from
> the same vendor) tend to be quite significant, and not easily hidden
> by the compiler. You could realistically find that you need to write
> half a dozen radically different versions of the same function just
> for the most popular GPUs, and also need to re-write it regularly, as
> GPU architecture tends to change quite rapidly.

This is probably one of the biggest reasons not to try. The libSH approach 
looked appealing, as it was very generalized and appears to work with a wide 
range of hardware. However, it is not actively maintained anymore. 

The above point coupled with single precision floating point, and a reliance 
on the commercial compiler (NVIDIA only)-- might make this entire thread a 
moot point. 

I would like to be proved wrong and see a GPU-accelerated GRASS module though!


Dylan Beaudette
Soil Resource Laboratory
University of California at Davis

More information about the grass-dev mailing list