I’ve been reading here and there lately and yesteray i bumped into this amazing article by my friend and kong technology. He writes many interesting stories and tutorials and i must admin i am a fan of is blog. The title of his latest blog post was eyecatching: “CUDA: Breaking the Intel & AMD dominance“. Now what is CUDA and how is it possible to break the mentioned dominance?

Well for starters let me say this. When you are playing a super cool game that has very good graphics nowadays, you must know you are putting alot of stress on your graphics card… Now with this on their mind the graphic cards designers have put alot of computing power on the card. My friend at kong technology notes:

while your PC may have dual core, or at best quad cores, GPUs are approaching in excess of 600 cores in a single chip

What he says after that is most important

However, unlike traditional Intel and AMD CPUs, these cores are smaller and less able to perform complicated tasks. So you still need CPUs around to run all the heavy processing for you.

Now, let’s break it down a little… Graphics is all about complicated mathimatical equations of vector processing and matrix multiplications. These calculations, most of the time, need alot of process power and they can be parallelized. So, the Graphic Processing Units (GPU, that’s what we call the CPU’s on the graphic cards) should only be capable on solving those math problems very fast and efficiently and if they need anything more that’s what a CPU is there for.

Now what if we can harness this power for other processing needs other than complicated graphics? Here is where CUDA comes in. Actually, this is the C like programming language that one can use to make a program that can run using these GPU’s. Here is what you need to do that:

  • nVidia powered graphics card 8 series or later.
  • The driver for the card with CUDA support.
  • The CUDA development kit.
  • The CUDA SDK.

All these (and many more information) can be found here. An amazing application  is a plugin they developed for Matlab. Just the perfect one i suppose. They say that it speeds up the processing very much.

Anyway, i think there is one huge catch there (one that caught me to what matters). As i said you need an nVidia powered card of 8 series or better. All those cards are PCI-Express which narrows down to a PCI-Express enabled motherboard. That one right there is my problem 🙁 I suppose i have to upgrade my hardware to check it out but sometime i’ll have to do it anyway.

All in all i think nVidia is outdoing it’s self and realy standing up from the others. I’ve always been a fan of those cards instead of ATI or others but now this gives me one more reason. We shouldn’t get ahead of ourselfs and say “who needs cpu’s gimme a graphic card”, that would be wrong. But the way we empower our desktop experience is definitely going to change. A new era on personal computing is around the corner and God am i happy to be here to witness it!