Thinking Parallel

A Blog on Parallel Programming and Concurrency by Michael Suess

Nvidia releases Cuda – and reinvents Stream Processing?

So it looks like CUDA was released. I will let their marketing department have their two minutes of fame:

NVIDIA® CUDA™ technology is a fundamentally new computing architecture that enables the GPU to solve complex computational problems in consumer, business, and technical applications. CUDA (Compute Unified Device Architecture) technology gives computationally intensive applications access to the tremendous processing power of NVIDIA graphics processing units (GPUs) through a revolutionary new programming interface. Providing orders of magnitude more performance and simplifying software development by using the standard C language, CUDA technology enables developers to create innovative solutions for data-intensive problems. For advanced research and language development, CUDA includes a low level assembly language layer and driver interface.

Wow. So it looks like this thing is supposed to be as easy as C. Or so they claim. As many of you know, I have been skeptical about stream processing and its usability in the past. A first quick glance at the source code of their provided examples seems to confirm that you don’t have to be a graphics-expert to program with Cuda. Which is good. They also claim to have a Linux-driver, which is nice as well. Of course, it will take some time for the graphics boards that support Cuda to penetrate the market. But after that has happened (and if you look at Nvidias marketshare it’s only a matter of time), this may turn out to be a viable alternative for parallel programming. Interesting times ahead…

3 Responses to Nvidia releases Cuda – and reinvents Stream Processing? »»


  1. Comment by Wes Felter | 2007/02/20 at 01:26:46

    I would actually say that NVidia has *killed* stream processing (and the associated startups) and replaced it with something saner.

  2. Comment by Michael Suess | 2007/02/20 at 10:16:14

    Wes: you have a point. Cuda definitly looks saner than the alternatives (not that I know all of them). Whether or not they manage to *kill* them is another matter 🙂

  3. Comment by tramdas | 2007/03/05 at 05:11:05

    This is a bit OT because it is not specific to Cuda…

    Over the past few months there has been quite a lot of buzz over stream processing. However, I’ve been having a hard time really grasping what the difference is between stream processing and vector processing. Is a “stream processor” really any different than a “vector processor”? Or is the term “stream processing” in reference specifically to a slightly more sophisticated programming model?

    p/s-love the blog Michael!

Leave a Reply

HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>