Aceshardware Forum Index Aceshardware
(not so) temporary home for the aceshardware community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups    RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Nvidia's CUDA
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    Aceshardware Forum Index -> General forum
View previous topic :: View next topic  
Author Message
Carfax



Joined: 07 Aug 2007
Posts: 40

PostPosted: Tue Jun 03, 2008 2:26 am    Post subject: Nvidia's CUDA Reply with quote

I'm sure everyone here has heard of Nvidia's CUDA, which will be present in their next generation of graphics card due out in Summer.

Nvidia is making alot of noise about it too. Saying it will be revolutionary, and will make the GPU a much more important part of the system.

Two areas of note in particular interest me.

Physics and Encoding.

CUDA enabled GPUs promise to speed up these two tasks greatly, much more than what can be accomplished on a CPU..

Now my question is, didn't both ATI and Nvidia say that this was going to happen years ago, but it never did?

Didn't ATI have an encoding program for their GPUs, which could "supposedly" run an astonishing 30 times faster than dual core processor at the time?

What the hell happened with that one I wonder?

Also, Nvidia had Havok FX or something, but I guess it was canned?

Why?

But the overriding question is, what will make this time any different than their previous experiment?

Will CUDA truly be revolutionary you think? Or is that just Nvidia overindulging in marketing propaganda?

And, what does this mean for the CPU?
Back to top
View user's profile Send private message
JoeP



Joined: 28 Jul 2007
Posts: 58

PostPosted: Tue Jun 03, 2008 3:00 am    Post subject: Reply with quote

The problem is in the programming.

You have to, to some extent, understand the chip architecture. That's asking a lot for many programmers. Then you have to understand how to exploit that stuff to get the speedup. Then you have to take a current problem you have and remap it in a certain way such that you can actually use a GPU to solve it.

So really, a lot of learning and different methodologies is what's keeping this stuff from bursting the dam with amazing applications.

Remember that ATi and NVidia are promising this stuff because it makes their products look better. Sure, the cards have these capabilities, and the usefulness and applications are limited, and the effort to learn this stuff is too much.

I used to be psyched about it too, but people I've talked to who have gone to presentations have brought up these points, and the reps always point to the "100x speedup" on their powerpoint slides.
Back to top
View user's profile Send private message
martinw



Joined: 06 Sep 2007
Posts: 116

PostPosted: Tue Jun 03, 2008 5:08 am    Post subject: Reply with quote

CUDA has been around for a while now. I'm not sure how it's doing overall. I went on a training course and did attempt to use it, but it was tough going. It is Nvidia-only, which is limiting unless that is all you care about. It also exposes a lot of internals, eg all the levels of memory hierarchy. Great if you want ultimate control, but a lot to deal with if you don't.

I think the future for most users will lie with higher level wrappers that sit on top of APIs like CUDA.
Back to top
View user's profile Send private message
fivemack



Joined: 07 Sep 2007
Posts: 41

PostPosted: Tue Jun 03, 2008 10:56 am    Post subject: Reply with quote

I am aware of several projects using CUDA at the engineering department in Cambridge; it's the sort of language in which you can get impressive demonstration results given infinite motivated grad-student labour.

I've heard rumours of effective GPU usage in quantitative-finance back rooms, but that's a higher-paid and harder-worked version of the grad student problem. I've seen very few bits of GPGPU usage in software that actually ships, and is intended to be used by people who sit more than three cubicles away from the local GPGPU guru.

I suspect 'wrappers that sit on top of CUDA' will be nightmares to develop or to program with; GPU problems tend to be matched very precisely to the size of the hardware, and to worry a lot about exact data placement. I think it would be very challenging to develop wrappers whose performance profile is comprehensible - I foresee a lot of aha! moments of the form "I modified an entry in the array here, so the wrapper has required that matrix to be in system memory then, so it had to copy it to and from the GPU once per optimisation cycle, and that's why it slowed down by a factor fifty"
Back to top
View user's profile Send private message
martinw



Joined: 06 Sep 2007
Posts: 116

PostPosted: Tue Jun 03, 2008 2:30 pm    Post subject: Reply with quote

I think the problems you describe with wrappers are a little overblown. Of course if you want ultimate performance and control and have vast resources to throw at the problem and only care about Nvidia hardware you will use CUDA. But if you want something cross-platform, more C++-like, and easier to use, a wrapper would do just fine. I'm aware of at least one significant project heading in this direction that is signficantly easier to use than CUDA. I'm not even sure the performance will always be worse, as the higher level allows more widespread optimizations to be implemented that may end up outperforming a handcrafted CUDA implementation in some cases.
Back to top
View user's profile Send private message
Carfax



Joined: 07 Aug 2007
Posts: 40

PostPosted: Wed Jun 04, 2008 1:01 am    Post subject: Reply with quote

Interesting..

Isn't true interactive physics possible on the CPU only though?

I remember reading an article that stated that GPUs cannot "compute" the long term effects of in game physics, due to the matrix heavy computations involved.
Back to top
View user's profile Send private message
who?



Joined: 01 Sep 2007
Posts: 531

PostPosted: Wed Jun 04, 2008 3:46 am    Post subject: Reply with quote

http://tw.youtube.com/watch?v=Mvxe04wGmTw

who?
PS: this is my personal opinion ;-)
Back to top
View user's profile Send private message
Groo



Joined: 22 Jul 2007
Posts: 158

PostPosted: Sat Jun 14, 2008 8:57 pm    Post subject: Reply with quote

Nvidia will be claiming an 18x increase in speed for their app called Elemental Badaboom!

http://www.theinquirer.net/gb/inquirer/news/2008/06/12/nvidia-changes-gt200-dates

This is for encoding HD to portable devices, or so they claim. Since they are using custom code, I would be interested in seeing how a Nehalem runs the same benchmark with tweaked Divx code for SSE4.1.

It is a stunt though, any time someone trots out a test app on card release, it was funded directly by the card maker, and that is about all you will ever see that does this. It is almost guaranteed not to run on the next generation part.

With CPUs however, the odds are MUCH greater that it will work on the next gen, and in 3 years there will still be support for SSEx.

How many GPU or custom hardware based apps can you say this about? Ever?

-Charlie
Back to top
View user's profile Send private message
Tvar'



Joined: 27 Jul 2007
Posts: 24

PostPosted: Sat Jun 14, 2008 9:24 pm    Post subject: Forward compatibility Reply with quote

Groo -

CUDA is actually forward compatible, guaranteed. Even better, Nvidia guarantees forward compatibility for PTX as well (the bytecode which CUDA compiles to). So you will be able to run the old CUDA apps on the new cards and get good performance.

CUDA is not a special purpose programming language. It's an answer to the general many-core programming problem. Did you know that CUDA compiles well to Intel multicore systems?
http://www.gigascale.org/pubs/1278.html
Back to top
View user's profile Send private message
malcolm



Joined: 14 Jun 2008
Posts: 3

PostPosted: Sat Jun 14, 2008 10:54 pm    Post subject: CUDA, GPGPU etc. Reply with quote

Groo-

I think you are missing the point :).

As someone currently developing in this area, I can tell you that it is something of a paradigm shift. All the big players know this (why else do you think AMD almost killed themselves purchasing ATI?), and as such are working very hard to position themselves for the new paradigm. I believe a lot of people have not yet klicked to how big this is going to be.

nVidia has CUDA on their GPUs, Intel has Ct (or will have) on Larabee, AMD has Brook+ on their GPUs.

So while these demos that are being done these days may seem contrived, they are actually a big sign of much more to come. The HPC guys are already embracing GPGPU (in some very specific areas), and before you realise it there will be computer games that silently make use of it as well (or they may not be silent about it...).

Just to give you an idea of the gulf between a GPU and CPU currently. The new generation GPUs can do about 1TFlop peak, my CPU (AthX2) about 18MFlops... :)

Malcolm
Back to top
View user's profile Send private message
EduardoS



Joined: 22 Mar 2008
Posts: 98

PostPosted: Sat Jun 14, 2008 11:29 pm    Post subject: Re: CUDA, GPGPU etc. Reply with quote

malcolm wrote:
my CPU (AthX2) about 18MFlops... :)

It's GFlops ;)

BTW, nice to know someone involved in the process :) , can you tell about your (your company's) projects?
Back to top
View user's profile Send private message
who?



Joined: 01 Sep 2007
Posts: 531

PostPosted: Sun Jun 15, 2008 12:38 am    Post subject: Reply with quote

Groo wrote:
Nvidia will be claiming an 18x increase in speed for their app called Elemental Badaboom!

http://www.theinquirer.net/gb/inquirer/news/2008/06/12/nvidia-changes-gt200-dates

This is for encoding HD to portable devices, or so they claim. Since they are using custom code, I would be interested in seeing how a Nehalem runs the same benchmark with tweaked Divx code for SSE4.1.

It is a stunt though, any time someone trots out a test app on card release, it was funded directly by the card maker, and that is about all you will ever see that does this. It is almost guaranteed not to run on the next generation part.

With CPUs however, the odds are MUCH greater that it will work on the next gen, and in 3 years there will still be support for SSEx.

How many GPU or custom hardware based apps can you say this about? Ever?

-Charlie


I want to see the CUDA encoding running at 700Kbps output in SD, and 2Mbps for HD ... certainly looks pretty ugly... from what I saw ....
Remember, principal of benchmarking:
1) Make sure you do the work right!

They can have as much speed as they want, when they don t compress well, I can do it faster on CPU, it is call mem copy :)

I don't think that any of those encoders can get close to the CPU version as soon as you get to internet bit rate or movie storage bit rate, at equal end quality. Avivo could not get close, and I expect the same from CUDA like encoders, brut force is not what you need when you try to encode for "personal movies of 1 hour 30 minutes ;0)"

who?
Back to top
View user's profile Send private message
Groo



Joined: 22 Jul 2007
Posts: 158

PostPosted: Sun Jun 15, 2008 2:15 am    Post subject: Re: Forward compatibility Reply with quote

Tvar' wrote:
Groo -

CUDA is actually forward compatible, guaranteed. Even better, Nvidia guarantees forward compatibility for PTX as well (the bytecode which CUDA compiles to). So you will be able to run the old CUDA apps on the new cards and get good performance.

CUDA is not a special purpose programming language. It's an answer to the general many-core programming problem. Did you know that CUDA compiles well to Intel multicore systems?
http://www.gigascale.org/pubs/1278.html


Tvar/Malcolm,
I am aware of these things, and I am aware of the track records of the companies involved as well. Basically I think that once NV gets seriously threatened, like in, oh, say, three weeks, compatibility will go out the door in order to protect their core markets.
I have been following the whole GPGPU world closely, and I am talking behind the scenes to a lot of people who were expected to deploy it about now. Most have backed down after running the numbers and kicking the tires. Cuda has been more or less laughed out of Wall Street from what I have seen, and most other markets are having severe cold feet.
This is not an idle statement, I am talking to a lot of the engineers in major companies, several of which have been on stage at NV and ATI events. There is something that made most of them drop the paradigm for the most part, but I am saving that for an article. When I get a bit more evidence and quotes.
Sorry to be cryptic, but I don't want to scoop myself on a big story. :)

-Charlie
Back to top
View user's profile Send private message
Tvar'



Joined: 27 Jul 2007
Posts: 24

PostPosted: Sun Jun 15, 2008 4:07 am    Post subject: FUD Reply with quote

Charlie -

GPUs are turning into general purpose manycore processors - which is why Intel has to make Larrabee. Nvidia understands this well, your FUD to the contrary. They're not going to break forward compatibility with CUDA and PTX.

I'm actually a little surprised at your unfounded FUD. Too bad.
Back to top
View user's profile Send private message
malcolm



Joined: 14 Jun 2008
Posts: 3

PostPosted: Sun Jun 15, 2008 5:11 am    Post subject: Re: CUDA, GPGPU etc. Reply with quote

EduardoS wrote:
malcolm wrote:
my CPU (AthX2) about 18MFlops... :)

It's GFlops ;)

BTW, nice to know someone involved in the process :) , can you tell about your (your company's) projects?


Oops, typing too fast...

Unfortunately I cannot talk about what I am doing at present, at least not for a few more weeks...

Groo- I am only partly surprised that you are finding a lot of people pulling back from GPGPU. It really is on the cusp right now, and so investing effort into one single API/runtime is far to risky for most people at present.
However I should point out that most things written in CUDA can be rewritten in Brook+ in a day or so and probably in Ct (when it gets released). They are all specific (although somewhat immature at present) implementations of the same programming paradigm.

The fact this demo uses CUDA is kindof irrelevant to the actual outcome - a (claimed) 18x speedup by programming a stream vector processing array instead of a sequential CPU.

Malcolm
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Aceshardware Forum Index -> General forum All times are GMT + 1 Hour
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5   

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB
Hosted by FreeForums.org