os that rather uses the gpu?

Florin Andrei florin at andrei.myip.org
Wed Jul 14 23:55:51 UTC 2010


On 07/14/2010 04:10 PM, drew einhorn wrote:
>
> This may be dated information.  I was a judge for a mid and high school
> computational science competition.  One of our students did an amazing
> gpu based project.  One of the things she had to do to get decent
> performance was to figure out how to control the register allocation.
> One of the judges said "don't modern compilers take care of that
> automatically".  Her answer was: "One would think".  The compiler nVidia
> was providing at the time had serious problems.

I'm not a CUDA programmer either, but rumor has it that it was a matter 
of too broad of a scope for the software, or lack of focus (same thing 
basically), and the blame may lie not necessarily with the compiler 
only, but also with the drivers.

I assume things improved since then (about a year ago), but I don't have 
any 1st hand information.

In any case, for straightforward math, the GPUs rock. It's fairly easy 
to get > 10x speed improvement for stuff like matrix multiplication, etc.

http://www.hpcwire.com/features/PathScale-Looks-to-One-Up-CUDA-OpenCL-with-New-GPU-Compiler-97089024.html?viewAll=y

"Hoping to reuse some of NVIDIA's CUDA stack, they quickly found that 
the code generator and driver were not optimized for performance 
computing. "Their drivers, which really dictate quite a bit of what you 
can do, are supporting everything from gaming to HPC," says Bergström. 
"It's not that they haven't built a good solution. It's just not focused 
enough for HPC."

Moreover, they found writing CUDA code for performance tedious, 
requiring a lot of programmer hand-holding to optimize performance. In 
particular, the PathScale engineers found that the register usage 
pattern in the CUDA compiler was generalized for all types of GPU cards, 
so performance opportunities for Tesla were simply missed."

-- 
Florin Andrei
http://florin.myip.org/




More information about the ubuntu-users mailing list