Quantcast

Don't have an account? Register Now! Forgot password?

Maximum IT
Columns

Nvidia: It’s Time to Kill CUDA

comment Commentsprint Printemail EmailDeliciousDiggStumbleUponRedditFacebookSlashdot

Like many of you, the first real 3D accelerator I owned was a 3dfx Voodoo card. This was way back in 1995. DirectX and Direct3D had yet to be released to the public, and OpenGL was only used for CAD and scientific rendering apps. In those primordial times, if a game developer wanted to harness the awesome rendering power of the Voodoo hardware, he had to write his game with Glide, 3dfx’s own application programming interface (API). This was all before the open standards movement became a powerful force in development circles, and Glide offered 3dfx a major competitive advantage: If a gamer wanted to see all the kick-ass 3D effects that Glide enabled, he had to play the game on 3dfx hardware—lest he suffer Glideless, in a depressing, busted-up world of jaggy, unfiltered textures.

The 3dfx/Glide domination ended when id Software and other game developers started releasing titles that used the OpenGL API, which wasn’t dependent on 3dfx hardware (but worked with 3dfx chips through a Glide translation layer). OpenGL opened the door for other 3D chip companies to build competitive products, and thus ATI, S3, Matrox, and Nvidia entered the fray with hardware of their own.

With every new OpenGL or DirectX game released, Glide slowly transitioned from an advantage to a liability for 3dfx. As competitors like Nvidia embraced new technology and embarked on a period of incredibly rapid improvements, 3dfx remained tied to its Glide past, and, as a result, was slow to embrace new rendering enhancements, such as 32-bit color and antialiasing. Ultimately, this contributed to 3dfx’s demise, and embracing open standards allowed Nvidia and ATI to flourish.

Why are we talking about this today? Because Nvidia stands at a crossroads, with two closed, proprietary APIs that have mainstream potential: the general-purpose computing CUDA API, and the PhysX physics-acceleration API, which sits on top of CUDA. These are both promising technologies, but only owners of Nvidia hardware can harness their power. Meanwhile, there are two emerging open standards that mirror what Nvidia is doing with its proprietary development. One is OpenCL 1.0, and the other is a general-purpose GPU computing API, which Microsoft will include in DirectX 11. There are a relatively small number of consumer applications that use CUDA, PhysX, or OpenCL right now, but the possible applications for the tech are endless—grossly simplified, these APIs let graphics chips perform CPU-like functions. The question Nvidia needs to be asking is simple: Will developers write their general-purpose GPU computing apps using a proprietary API that works on only a subset of PCs—those stuffed with Nvidia hardware—or will they use an open API that will work on every PC on the market?

Nvidia’s path is clear: It needs to stop trying to convince us that closed APIs are good, and instead embrace OpenCL and Microsoft’s yet-to-be-named solution. It needs to port PhysX to run on one of the open APIs, then use PhysX as a platform to advertise the kind of power that Nvidia delivers (with the recipients of all this messaging being ATI diehards and anyone considering the forthcoming Larrabee GPU from Intel).

By focusing on what its always done well—building kick-ass hardware—instead of force-feeding us closed APIs, Nvidia will thrive. As for CUDA? It’s served its purpose, but its time has passed. It’s time to kill CUDA.

COMMENTS
avatarOpenCL (Apple) and CUDA (NVIDIA) ...

This may just be propoganda, but here is a pretty good article with information about CUDA vs. OpenCL:

http://www.appleinsider.com/articles/08/12/10/nvidia_pioneering_opencl_support_on_top_of_cuda.html

I found it rather interesting and it looks like most of what OpenCL is designed to accomplish is already in play with NVIDIA GPUs that have CUDA support built in. (8, 9, and 200 series chipsets)

Login or register to post comments
avatarSimple explanation

Sometimes it is worth it to take a step back and look at the big picture when you come across an issue like this. It really is quite obvious that the only reason CUDA is around is to promote the use of NVIDIA hardware for all applications. Fundamentally there is nothing wrong with this, but when you consider that the vast majority (90%+) of people using discrete GPUs do so for the sole purpose of playing games, it becomes clear that NVIDIA's persistance on using CUDA is not going to have a groovy effect on the gaming hardware/software industry.

The real value of CUDA, and indeed its originally intended purpose, is for GPGPU applications in the scientific and design realm. Pressing the technology into the gaming space creates a division in the market that is ultimately going to effect the actual game developers in a negative way. A decision will have to be made to implement either CUDA, which runs on a limited hardware set from one company only and limits the market for the game to people who already have that hardware, or something like OpenCL/DX11 which will run on all hardware platforms and eliminate restriction of the intended audience (OR develop for both and increase costs). By stacking PhysX on CUDA NVIDIA makes the technology exclusive to NVIDIA products which sells hardware. The PhysX API has been around for almost 3 years now and at least 2.5 of those years it existed as a FREE standalone API for developers. You don't need to run PhysX on CUDA to make it exclusive to NVIDIA cards.

Will is right: NVIDIA (and ATI for that matter) needs to focus on creating killer GPU hardware moreso than trying to force largely uncessary, closed standards into the wrong markets.

Of coruse, opinionated editorials will be opinionated editorials. We can only hope that the companies move forward with everyone's best interests in mind.

Login or register to post comments
avatarNot sure I completely agree with your assessment ...

I don't have any hard numbers so I can't really dispute your claim about the percentages, but I do think you have overlooked the Tesla core GPUs used in various capacities for science, architecture, etc.

CUDA was originally developed to leverage those types of cards and was backported to the retail GPUs that have recently come out.

It has only been with the introduction of those cards that have really exposed how good gaming can be. And lets not forget that some of the technologies are being ported to consoles (PhysX being one of those- Xbox I believe)

I feel like NVIDIA and ATI are both focused on killer hardware, hence the dual GPU in a single slot options of the ATI 4870x2 (monster FPS) and the GTX 285 and 295 (equally monster FPS). These are killer hardware and the drivers just kick them up a notch.

I hope both continue to do what they have been doing - its good for the market and REALLY good for the average gamer.

Login or register to post comments
avatarCheerleaders...

This use to be a great magazine, I even have a subscription. But you have become such a pack of AMD cheerleaders it's unbelievable. 20% of you magazine is giant full page amd adds and another 20% is --How to Clean windows tips -- .... AGAIN...  AMD, Intel & Nvidia's cards architecture will all be different and having c libraries custom tuned for each architecture will always be faster than a general language for all. your solution is to be a jack of all trades and master of none.. much like what your magazine has become. Your so afraid of being beholden to any company because they have their own standard that runs best on their specific hardware, but you bend over and take it when Microsoft crams windows 7 in you. You don't get Microsoft's universal solution without buying a new os. Tons of apps have been modified to use cuda with astounding speed increases in speed and there is no way it would be as fast on a generalized gpu solution like OpenCl.. Oh and guess what it cost all those companies to use Nvidia cuda libraries and development kit.. Not a penny.. so their the bad guys...

Keep you tabloid rag, I will not be resubscribing. Check my profile, I am a subscriber and a 43 year old industry professional who has seen first hand how amazing Nvidias cuda code can be.

Login or register to post comments
avatar"with astounding speed increases in speed"

O.k. It has been a long time since I used C. You use the same libraries from MATH to STDIO for AMD and INTEL. They have the same SSE instructions. In fact, they share the same x86 instruction set.

If you are talking about the GPUs made by the respective companies, C isn't a good language. There isn't a direct standardized equivalent to, say, FLOAT4 in C. All the primatives types in C are scalers. If you want a vector or a matrix you have to create a struct.

As for "all these companies", we are talking about the hardware license, not the software license.

You can have your recession. I'm not participating.

Login or register to post comments
avatarNice to see a fanboy crawling out of the woodwork.

 

Thank goodness there was a tool like you trolling around to show me the error of my grammatical ways. Nvidia cards are about 60% of the market with an even higher adoption rate in the technical and scientific communities. So yes it is "free" to millions of people who already own their products. So all you and this rag can do is point fingers at a company that obviously spent a lot of time money and effort to make their products more valuable and useful and then they gave it away free. That's really obnoxious, how dare they.

And when your parents lose their house because of the recession and you have to move out of the basement you will be participating in this recession whether you like it or not.....

Login or register to post comments
avatarUh...ok...

You probably should read more than the subject line before you post. At least you would have been able to point out my cute little grammatical error.

Troll or not, you are sounding more and more like one of those obnoxious Rambus investors with each post.

You can have your recession. I'm not participating.

Login or register to post comments
avatarAntialiasing?

Hey Will,

 I hate to nitpick but... I find it a bit strange that you cite adaptation of rendering technologies as one of 3dfx's reasons for their downfall, specifically antialiasing. Correct me if I'm wrong but wasn't it 3dfx who originally pioneered antialiasing in their products prior to anyone else? 

Login or register to post comments
avatarMicrosoft and "open",

Microsoft and "open", nevermind a "standard", don't mix as far as I know.

Login or register to post comments
avatarGames that use CUDA?

Any games out there now that take advantage of CUDA?

I believe Age of Conan with it's DX10 patch that is on the test server about to hit live servers in a few weeks will be the first game to take advantage of it. Built upon a custom CUDA platform.

Been testing it out and the advantages looks to me that it is going to be around for a while yet.

Login or register to post comments
avatarhmm apparently there are varying schools of thought as to what i

In response to the high level low level from the first post, low level is right next to hardware adn high level would be like at the OS level, but apparently there are different schools of thought on teh matter.

 

http://www.control.com/1026151382/index_html

Login or register to post comments
avatarseems a little bit like

seems a little bit like apple's demise where you could buy one OS, apple, that runs on one hardware, apple, or buy one OS, MS-DOS, and run it on lots of hardware.

Login or register to post comments
avatarCorrect me if I am wrong...

But there was an article claiming that NVidia was willing to license PhysX/Cuda for "pennies per gpu" to competitors, making ATI seem stubborn.
 
I think ATI's refusal to take that offer has far more to do with NVidia’s past behavior. For two generations of GPUS, NVidia refused to support DX10.1, and there is even a conspiracy surrounding Assassin's Creed regarding just that. Also, NVidia does not support programmable tessellation —-a feature that has been available since ATI's first DX10 card.

This may sound like tit-for-tat, but “pennies per gpu” are NVidia’s words. No one can know about the gritty licensing details. Correct me if I am wrong, but Rambus made similar public claims about licensing cost in order to make memory manufactures seem stiff. On top of all this, I do not think anybody pays licensing fees to Microsoft for the DirectX spec.

Also, let us not forget Nvidia’s FX series. I like how it is put in Wikipedia: “Both Nvidia and ATI have optimized drivers for tests like this historically. However, Nvidia went to a new extreme with the FX series.”

Put simply, NVidia has a history of being obnoxious. For that reason I do not think Cuda will go away any time soon.

You can have your recession. I'm not participating.

Login or register to post comments
avatarNot that simple

While I would agree that open standards are for the best and am excited about OpenCL, it is worth noting that CUDA is a higher level language than OpenCL, which makes a considerable difference in its intended uses.  At the moment I would like to take advantage of the power of these GPGPU langauges but I'm afraid that coding for them is still not simple and I just don't have time to port my fluid dynamics models that are written in C and use MPI for parallelization to CUDA or OpenCL.  What would truly be amazing is if any company releases a compiler that can utilize OpenCL from existing code written in C, Fortran, etc, while keeping the parallelization intact from MPI.  If this ever happens it would be amazing, especially for the scientific community.

Login or register to post comments
avatarAre you sure you got that

Are you sure you got that right about CUDA being a higher level language than OpenCL? From what I read in this article-

http://arstechnica.com/news.ars/post/20081209-gpgpu-opens-up-with-opencl-1-0-spec-release.html

- it would seem OpenCL gives programmers more direct access to hardware.

 

Login or register to post comments

This Month's Issue
FEATURE How to Get FREE Programs, Services, Software & MoreFEATURE Digital Photo Printer RoundupHOW TOBuild a 3D CameraFEATUREDIY Arcade PCWHITE PAPERHow TRIM Works