Sign in with
Sign up | Sign in
Your question
Closed

Nvidia's CUDA: The End of the CPU?

Last response: in Reviews comments
Share
June 18, 2008 5:01:06 AM

Very interesting. I'm anxiously awaiting the RapiHD video encoder. Everyone knows how long it takes to encode a standard definition video, let alone an HD or multiple HD videos. If a 10x speedup can materialize from the CUDA API, lets just say it's more than welcome.

I understand from the launch if the GTX280 and GTX260 that Nvidia has a broader outlook for the use of these GPU's. However I don't buy it fully especially when they cost so much to manufacture and use so much power. The GTX 280 has been reported as using upwards of 300w. That doesn't translate to that much money in electrical bills over a span of a year but never the less it's still moving backwards. Also don't expect the GTX series to come down in price anytime soon. The 8800GTX and it's 384 Bit bus is a prime example of how much these devices cost to make. Unless CUDA becomes standardized it's just another niche product fighting against other niche products from ATI and Intel.

On the other hand though, I was reading on Anand Tech that Nvidia is sticking 4 of these cards (each with 4GB RAM) in a 1U formfactor using CUDA to create ultra cheap Super Computers. For the scientific community this may be just what they're looking for. Maybe I was misled into believing that these cards were for gaming and anything else would be an added benefit. With the price and power consumption this makes much more sense now.

More about : nvidia cuda end cpu

June 18, 2008 8:11:56 AM

CRAP "TECH"
Related resources
Anonymous
June 18, 2008 8:31:14 AM

Well if the technology was used just to play games yes, it would be crap tech, spending billions just so we can play quake doesnt make much sense ;) 
June 18, 2008 9:14:10 AM

Wow a gaming GFX into a serious work horse LMAO.
June 18, 2008 9:59:20 AM

The Best thing that could happen is for M$ to release an API similar to DirextX for developers. That way both ATI and NVidia can support the API.
June 18, 2008 10:44:38 AM

And no mention of OpenCL? I guess there's not a lot of details about it yet, but I find it surprising that you look to M$ for a unified API (who have no plans to do so that we know of), when Apple has already announced that they'll be releasing one next year. (unless I've totally misunderstood things...)
June 18, 2008 12:56:09 PM

Im not gonna bother reading this article, I just thought the title was funny seeing as how Nvidia claims CUDA in NO way replaces the CPU and that is simply not their goal.
June 18, 2008 1:44:37 PM

I´d like it better if DirectX wouldnt be used.

Anyways, NV wants to sell cuda, so why would they change to DX ,-)
Anonymous
June 18, 2008 1:57:48 PM

I think the best way to go for MS is announce to support OpenCL like Apple. That way it will make things a lot easier for the developers and it makes MS look good to support the oen standard.
June 18, 2008 1:58:38 PM

Mr RobotoVery interesting. I'm anxiously awaiting the RapiHD video encoder. Everyone knows how long it takes to encode a standard definition video, let alone an HD or multiple HD videos. If a 10x speedup can materialize from the CUDA API, lets just say it's more than welcome.I understand from the launch if the GTX280 and GTX260 that Nvidia has a broader outlook for the use of these GPU's. However I don't buy it fully especially when they cost so much to manufacture and use so much power. The GTX http://en.wikipedia.org/wiki/Gore-Tex 280 has been reported as using upwards of 300w. That doesn't translate to that much money in electrical bills over a span of a year but never the less it's still moving backwards. Also don't expect the GTX series to come down in price anytime soon. The 8800GTX and it's 384 Bit bus is a prime example of how much these devices cost to make. Unless CUDA becomes standardized it's just another niche product fighting against other niche products from ATI and Intel.On the other hand though, I was reading on Anand Tech that Nvidia is sticking 4 of these cards (each with 4GB RAM) in a 1U formfactor using CUDA to create ultra cheap Super Computers. For the scientific community this may be just what they're looking for. Maybe I was misled into believing that these cards were for gaming and anything else would be an added benefit. With the price and power consumption this makes much more sense now.

Agreed. Also I predict in a few years we will have a Linux distro that will run mostly on a GPU.
June 18, 2008 2:40:15 PM

Well this is a huge step, hope to see it successful.
June 18, 2008 2:48:48 PM

FYI: Apple has been working with the Khronos group (the people behind OpenGL at the moment) to make an API called OpenCL which should do all the things that Cuda et al can do. Since it's not just Apple that's behind it, but also the Khronos group, it should be cross platform. So who knows.. maybe this is going to be the unifying API for this.. well, until Microsoft comes up with 'DirectC' ofcourse
Anonymous
June 18, 2008 3:32:51 PM

I know that this is not too close to the article, but i hope that it is still not too OFF topic.
I just have a question, and someone might answer it (the TH is full with smart guys). My problem is that there are too many misconceptions floating around in the net regarding CUDA and overall the whole GPGU businnes.
I have seen somewhere, that these GPU's are able to do Double Precision floating point calculations, but personally i find this unlikely.
Others say that you can take directly your parallel code writen in C or Fortran90, and adopt it to CUDA, because the standard stuff can run serial on the CPU and the most computationally expensive part parallel on the GPU. On top of that you can 'adress' or cummunicate with your GPU directly from a Fortran code with sort of system calls (i think this is BS).
Quiet frankly, i have not found a site on which i can really rely on, where they show an example (source code and explanation) of how something like this could be done.
June 18, 2008 4:38:46 PM

I wish Intel and NVidia would get over themselves and co-operate and finally give total system performance that big ass boost it needs.

Intel is wasting time ray-tracing on a CPU and NVidia is wasting frames by folding proteins on their GPU.

"You're doing it wrong!"
Anonymous
June 18, 2008 5:09:15 PM

No, the best would be if we got an open API, like OpenGL. I seriously do not want another DirectX locking me to MS >_
June 18, 2008 6:10:41 PM

@dariushro: That would quite possibly be the worst thing that could happen to GPGPU. Microsoft equals Windows and GPGPU and super computing is not Windows' strongest point (understatement).

It would be better for a neutral party composed of GPGPU experts from different IHVs to initiate something like what you propose, more like what the OpenGL ARB creates, a specification.

IHVs and other companies could then implement this standard on their own hardware, thus decentralizing development from the ISV. If you leave development of this type of technology up to Microsoft (or any other single developer) you'll end up with vendor lock-in, which is a Bad Thing, for all of us.

Anyway, CUDA is great but not cross-platform compatible (Intel, AMD/ATI, etc.) which makes it impossible to implement in commercial software, unless a CPU-bound alternative is provided, which would defeat the purpose of the architecture.

On a similar note: think of the choice between the PhysX SDK and Havok Physics. Do you want partial GPU accelerated physics supported by one brand (PhysX, NVIDIA G80+) or do you want to stay CPU-bound but have the same feature set regardless of the hardware (Havok)?
June 18, 2008 6:39:18 PM

If you had the patience to read this entire thing, I'd recommend you look at the CUDA programming guide(link) It's the same information, but less terse.

Tom's also forgot to point out that development is possible via emulation (emuDebug build setting, I think, with the .vcproj they give you), so anyone can get their hands dirty with the API. You don't get the satisfaction of seeing cool speedups, but it's just as educational, and easier to debug. No screen flickers :) 
June 18, 2008 7:21:29 PM

I wonder if a PC can be build today without processor at all? It probably requires different BIOS for mobo and some kind of x86 emulator for NVIDIA card, but is it possible in principle without any modifications in hardware?
June 18, 2008 8:55:44 PM

The end of the CPU is nowhere near. To think the GPU could be used for every task is just absurd. The GPU is only good for tasks which can be massively parallellized. Unfortunately, not that many tasks, apart from graphical processing, can be divided into smaller, completely independent parts.
June 19, 2008 12:07:34 AM

Sounds interesting, I think the whole branch out into the CPU thing is a response to Intel working on an integrated CPU/GPU, maybe Nvidia is a little nervous about that, although I think Intel's built in GPU would probably suck, its tempting to think they could clock there GPU's at 2-3Ghz and manufacture on a 45nm node toss in some of that DRAM built in 204.8GB/sec hmmm maybe not so bad....
Anonymous
June 19, 2008 12:12:14 AM

To see Why 4 threads faster than 2 threads on 2 cores, see this example:
Let we split our task into equal number of chunks, and run each in a different threrad.
One thread performs our task at 2000 ms.
If two chunks (threads) run on two iddle cores, they will finish together, after 1000 ms.
if two chunks (threads) un on two cores, one idle and one 50% busy, the chunk run on the the 50% busy CPU will advance 50% until the other chunk is done on the other (idle) core. Then, it will be likly re-assigned to the other (now idle again) core, to finish its 50% to go. - In total, 1000 + 500 = 1500 ms.
if THREE chunks run on 2 cores, one of them 50% busy, two chunks will be done on the idlde core (666 + 666 = 1333ms). Third chunk will run on the other core at 50% speed, taking also 1333ms. We finished at 1333ms!
In total: splitting task into more chunks than cores can make sense if there are also OTHER tasks runing on your system.
Roman
Anonymous
June 19, 2008 6:12:31 AM

The beta release only works on the 2 new Nvidia cards. The official release is supposed to work on all g92 cards so the 8800gt and newer. (much more power efficient option)

Programs like these wont be using all the parts of a GPU. I expect they will probably prove to be dependent on something like clock speeds or shader numbers/speeds or pure bandwidth but doubtfully all.

Depending on which is the primary factor 8800gt could prove to be almost as fast as these in this one instance.

long story short i think this will end up running very similar to how folding@home variates among cards.
June 19, 2008 11:28:37 AM

how technical.
June 19, 2008 12:17:00 PM

Intel is making a processor to make GPUs obsolete, Nvidia is making a GPU to make CPUs obsolete... This doesn't entirely make sense to me, even if one could do everything to other could do, wouldn't they be even more powerful together?
June 19, 2008 4:41:33 PM

EXCELLENT article. Cearly explained some differences between the CPU and GPU. I hope to see more of this progress - Such as GPU physics acceleration as part of DX11 or any non gaming app !! But for now I don't expect the CPU to be completely replaced anytime soon.
Still big news and may completely change how CPU -> GPU offloading is designed after Sandy Bridge/Bulldozer.
June 19, 2008 5:46:57 PM

more stories like this!
June 19, 2008 6:02:46 PM

I'd like to see Google release an API that ATI and NVidia can use just to piss of M$. lol
Infact such an API could make it possible to see other graphic companies emerge to compete with ATI and NVidia. Now that'd be something I'd love to see!
Anonymous
June 19, 2008 6:16:46 PM

Fantastic Article. Need more like this on toms!
June 20, 2008 3:24:25 AM

I had a hard time understanding anything at all in this article, and I've been a PC enthusiast for awhile.
Should I take a college class?
June 20, 2008 9:30:22 PM

Fedy Abi-Chahla,COOL! Excellent! that's what I have been talking about this too. CPU VS GPU Wars are coming very soon! unless InTEL leads big jump otherwise it's game over! Perhap WARP9? cos it's the only choice.
So far so good, Fedy Abi-Chahla, U are the only one who realise that beside me. hehe....
June 21, 2008 12:23:53 AM

Shadow703793Agreed. Also I predict in a few years we will have a Linux distro that will run mostly on a GPU.


A Linux distro that runs on a GPU, absolutely phenomenal potential..
June 23, 2008 5:30:43 PM

First, let me say that this is an excellent article.

The author (Fedy Abi-Chahla) states:
The idea of using graphics accelerators for mathematical calculation is not recent. The first traces of it go back to the 1990s.

Actually this idea actually goes back even eariler to the late 70's early 80's. The Evans & Sutherland PS2 MPS products were calligraphic line drawing CAD stations that used custom hardware to perform very fast matrix arithmetic (geometry calculations)on line end points. This system what connected to DEC PDP-11 (and later to VAX-11) computers via a proprietary Unibus card. One of the features of the graphics device was the ablility to read-back data (for hit testing etc). Programers, especially at universities, realized quite quickly that they could use the MPS as a fast matrix multiplier.

I personally saw this done by a graduate student named Frank Ford Little at the University of Utah Math department circa 1980.

June 24, 2008 5:26:39 PM

I'm surprised this works at all. This is BIG news. I wonder what else can be accelerated transparently.
I agree with most that the CPU is long from dead.
June 24, 2008 7:26:28 PM

the cuda might be a nice optimization of resources for gaming to lower the cpu bottleneck or get more resources for better physix. but nvidia will not get the chance to tape out the need of a fast cpu.intel and amd whont let them.the cpu will just always stay importment unless you intergrate both the cpu and gpu cores in one chip like fusion is ment to be. both have total diffrent optimizations. and i dont see a gpu do x86 or x64 tasks yet. first nvidia would need a very expansive licence to do such a thing then the whole process would still be very complicated it would require them to make a complete platform and then there competition will boycott them very hard.
so its not likley to happen. they just have some improved physix but not much more.
June 25, 2008 5:57:52 PM

When I read 700 processes cpu I doubt it. Few processors will go beyond 70 processes & has been that way forever it seems.
Increase in speed to complete task is good from 500 ns to low of 20 ns in some instances.
Signed:p HYSICIAN THOMAS STEWART VON DRASHEK M.D.
June 25, 2008 6:39:01 PM

More articles like this please.
July 5, 2008 10:05:00 AM

I have been reading people talking about using OpenCL instead of CUDA. I would not be surprised if CUDA becomes to OpenCL, for nVidia as Glide was to OpenGL for 3DFX.

For those that do not know, 3DFC Voodoo cards were able to run both OpenGL and 3DFX's superiorly fast Glide technology. This Glide was supported only by 3DFX cards (nVidia did buy the technology later on though). If you had a Voodoo card (I had Voodoo 3 3000) and games that supported glide or D3D, you were better off using Glide because it gave amazing visuals (for the time) and was faster than the alternatives. Glide was a standard in it's own right. I still remember changing from 3DFX to a "better" card only to be disappointed with D3D's performance and ability. Before then I had never really used OpenGL before then either on account of Glide working with everything I had.

I would not be surprised if nVidia can come up with a better way than OpenCL to handle this task. CUDA seems to be progressing nicely after all. And since Apple (shudder) is using nVidia hardware for their demo, it would seem that OpenCL runs fine on the CUDA enabled cards.
August 15, 2008 9:49:03 AM

Well soon the guys always pretending to be sooo serious..("no i never play games I just bought this 8800 to get nice dvddecoding") can get a real reason to buy a hefty card.
It's like the Linux-lovers that I know that sit and rant endlessly about the crapability of windows and when you are shown their comp...its dualbooted and its running xp ("just for the moment!")...
August 17, 2008 9:06:07 PM

Great article content GPU and Nvidia's CUDA. The "end of the cpu" question raised in the title was a poor choice that distracts from conveying the extrordinary benefits that GPU processing and the CUDA platform can deliver.

Instead of debating CPU versus GPU technobabble,it would be more constructive to analyze what new functionality is possible when the best of multi-core CPU technology is combined and augumented by some of the best available GPU technology.

Toms hardware does an outstaing job of analyzing new hardware developments. New hardware tests commonly result in incremental performance improvements of a few percentage points over previous models - and that is often big news.

Whats makes the GPU use and CUDA platform so extraordinary is that early adopters are building applications that have achieved dramatic (50% to several hundred percent) increases in the performances of their applications.

Some evidence in support those performance claims is available at


Instead of exotic supercomputing hardware or large clusters that are cost prohibitive for widespread access - a suggested testbed setup is taking an off the shelf workstation like the Lenovo ThinkStation D10, adding the Quad-Core Xeon processors, and adding the Nvidia Telsa GPU board. With that minimal testbed setup, it becomes possible to more accrurately benchmark and assess the performance benefits possible from the combined strengths of Intel multi-core and the Nvidia GPU/CUDA technology.

Beta CUDA Plugins for mainstream applications like Photoshop are beginning to appear and are available for download. Other engineering apps like Matlab and Wolfram's Mathemetica are also adapting to take advantage of some of the new multi-core and GPU possibilites.

What we would like to see in a future Toms Hardware article on GPU technology are some benchmarks and assesments in how much of a performance improvement can made on mainstream applications.

Next generation Adobe technology (Photoshop CS4 or next) is often rumored to more fully utilize GPU technology. There are similar claims for benefits to Autocad 2009 and other engineering apps.

I think we will see some more dramatic headlines as the the combination of multi-core cpu and GPU technology shatters some of the exising performance benchmarks and enables new possibilities on a desktop platform.






!