Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

NVidia Considering Porting PhysX To OpenCL

Soulskill posted more than 5 years ago | from the learning-to-share dept.

Graphics 54

arcticstoat writes "NVidia has revealed that it's considering porting its PhysX API to OpenCL to allow PhysX GPU-acceleration on competitors' graphics cards as well. At the moment, a GPU needs to support NVidia's CUDA technology in order to accelerate PhysX on the GPU, and ATI has so far declined NVidia's offer to get CUDA working on ATI GPUs. NVidia's director of product management for PhysX, Nadeem Mohammad, said, 'In the future it's a possibility that we could use OpenCL' for PhysX, adding, 'If we start using OpenCL, then there's a chance that the features would work on ATI, but I have no idea what the performance would be like.'"

cancel ×

54 comments

Sorry! There are no comments related to the filter you selected.

Theory versus Practice (5, Interesting)

Anonymous Coward | more than 5 years ago | (#27380467)

OpenCL is low leve enough that it's certainly possible to write code that works on other hardware in theory while being far too slow to do anything useful in practice.
Knowing NV, I wouldn't be surprised to see this happening

Re:Theory versus Practice (2, Interesting)

linhares (1241614) | more than 5 years ago | (#27381375)

I'm REALLY looking forward to opencl adoption. I'm working on AI, and I have to do things as simple as getting the hamming distance between two bitstrings, or adding +1 into xi for all i in a large vector. These are trivial, but I have to do them on (at least) a million different vectors at each operation. I'm dreaming that opencl will make this thing smoother.

But then we get to the politics of the whole thing, and it's kind of depressing. Apple sends it to the Khronos group, which makes it a standard, but Microsoft, SURPRISE!, immediately announced a competing thing. So we run the risks of not having our stuff running in everybody's machines. Or we are stuck in the Apple arena.

Since I'm planning on spending USD$2000 for a video card if only we can get the code right, I'm most likely building a Hackintosh, because of Apple's heavy handed nickel-and-diming-in-every-component-for-your-bestest-experience.

I want to be cross-platform. So here's a question: Does anyone knows how opencl is supposed to work in windows or linux?

Re:Theory versus Practice (1)

master5o1 (1068594) | more than 5 years ago | (#27382045)

Graphics languages in Linux? Blasphemy! Everyone knows that there is only a command line!

(oh wait, now I see it: Those letters I just wrote are so pretty being slightly 3D popping out of the screen by about 1 pixel...Yay!)

Re:Theory versus Practice (1)

zippthorne (748122) | more than 5 years ago | (#27382675)

No, it's ok as long as you fill up the gpu with processing chores so there isn't much left for painting pixels.

Re:Theory versus Practice (1)

master5o1 (1068594) | more than 5 years ago | (#27384451)

I thought that was Vista's job?

Re:Theory versus Practice (1)

Cornelius the Great (555189) | more than 5 years ago | (#27387893)

Vista does quite the opposite: it spends so much resources rendering pretty pixels that there's less room for useful computation.

Re:Theory versus Practice (1)

master5o1 (1068594) | more than 5 years ago | (#27396267)

Who said that processing chores had to be useful computation?

Re:Theory versus Practice (1)

linhares (1241614) | more than 5 years ago | (#27382079)

0 Redundant? Well, that's expected after bashing Apple.

Re:Theory versus Practice (0)

Anonymous Coward | more than 5 years ago | (#27382329)

The ONLY reason that Apple made OpenCL a standard is due to both nVidia and ATI saying they would not support it unless it was an open standard. Apple nearly said no.

Re:Theory versus Practice (1, Interesting)

drerwk (695572) | more than 5 years ago | (#27382763)

Sign up for ADC (for $500) and use the hardware discount. It'll be about 20% off the Apple retail price and you get all the latest developer goodies. If you intend to use OpenCL and the latest Apple OS, the only reason to build a Hakintosh is if your time is free. If that is the case then no problem. But I can't see running into a problem and sitting there wondering - is it Apple's new OpenCL, or is it my machine? And if you are ADC, then you can send Apple a trouble ticket - and maybe even get an answer.

Re:Theory versus Practice (1)

linhares (1241614) | more than 5 years ago | (#27383279)

It'll be about 20% off the Apple retail price and you get all the latest developer goodies.

I'm from the Federal Brazilian Banana Republic you insensitive clod. Even a macbook air [fnac.com.br] costs more than USD4.300. [google.com] Laugh it up, my friends!

Re:Theory versus Practice (0, Troll)

robthebloke (1308483) | more than 5 years ago | (#27386309)

Does anyone knows how opencl is supposed to work in windows or linux?

In the exact same way that it'll work on Mac.

Re:Theory versus Practice (1)

linhares (1241614) | more than 5 years ago | (#27386881)

Thanks. You just made my day a little bit better.

Re:Theory versus Practice (3, Insightful)

Midnight Thunder (17205) | more than 5 years ago | (#27381533)

OpenCL is low leve enough that it's certainly possible to write code that works on other hardware in theory while being far too slow to do anything useful in practice.

Well if NVidia makes a sub-par implementation for competing cards, then NVidia can concentrate their efforts a cross-platform solution, while the competitor's cards are perceived as sub par. NVidia ever gets asked why they didn't do a better implementation, they could then argue this was just a token gesture and not an all out effort. In the meantime OpenCL gets picked up by games developers and NVidia gets a lead while the competition realises they have some catching up to do.

This is sneaky, but the competitors only have themselves to blame if they don't recognise where things are going.

Re:Theory versus Practice (1)

rsmith-mac (639075) | more than 5 years ago | (#27383945)

While they could do that, any kind of significant deviation in performance that's not due to hardware differences is just going to drive developers away. PhysX is only of value to NVIDIA if developers use it, otherwise if they all flock to Havok (which is getting its own OpenCL implementation) then being able to run PhysX quickly isn't going to be of any real benefit to NVIDIA.

NVIDIA can't play games with OpenCL and PhysX, not at this stage at least.

Re:Theory versus Practice (1)

Trepidity (597) | more than 5 years ago | (#27381673)

It's not clear to me that any other outcome is possible, really, since Intel demanded that OpenCL not include any features that couldn't be implemented on Intel integrated GPUs. That makes it basically a lowest-common-denominator spec that's missing support for a lot of the sort of stuff you can do in CUDA.

OpenCL? (5, Informative)

mac1235 (962716) | more than 5 years ago | (#27380479)

Re:OpenCL? (5, Interesting)

Z00L00K (682162) | more than 5 years ago | (#27380691)

Thanks! - I first thought that it was a misspelling of OpenGL.

Re:OpenCL? (1)

Zumbs (1241138) | more than 5 years ago | (#27380871)

Who the hell modded this troll? At worst it might be redundant or offtopic ... and that is a serious strech!

Re:OpenCL? (0)

Anonymous Coward | more than 5 years ago | (#27381067)

Who the hell modded this troll? At worst it might be redundant or offtopic ... and that is a serious strech!

I also thought maybe it meant OpenGL instead of OpenCL at first too, especially with it being an article about a GRAPHICS card manufacturer.

Re:OpenCL? (1)

Little_Professor (971208) | more than 5 years ago | (#27381269)

Me to - there should have been some mention in the summary of what OpenCL actually is

Once upon a time... (0)

Anonymous Coward | more than 5 years ago | (#27380547)

a site called NGOHQ.com claimed to have gotten CUDA running on an ATI GPU. After weeks of delays, supposed legal wrangling, and no updates from Regeneration (the creator) I stopped checking the site. It seems as though most people believe it was merely screenshot manipulation and not an actual software breakthrough.

Competition is good.. for us (-1, Redundant)

BigBuckHunter (722855) | more than 5 years ago | (#27380701)

A little competition between two rival Physics engines is a good thing for consumers. We can only hope that the few available gaming-oriented FOSS physics engines improve as well.

BBH

Re:Competition is good.. for us (4, Insightful)

Elledan (582730) | more than 5 years ago | (#27380869)

Yeah, we can experience the good ol' days of OpenGL vs D3D vs Rendition vs Glide all over again. Colour me excited. Or not.

While competition may sound nice, for game developers (of which I am one) and gamers alike, in the end the goal is to be able to make or play a game without having to consider a zillion different rendering/physics/sound APIs, including the many limitations only supporting one of them may bring with it. We should be grateful that we are now left with 2 rendering APIs (OGL and D3D) which all cards (more or less) support. Let's hope that the same thing happens for physics really soon. It seems that nVidia is at least attempting to make this happen, which is encouraging.

Re:Competition is good.. for us (5, Funny)

Yetihehe (971185) | more than 5 years ago | (#27381087)

Yeah, we can experience the good ol' days of OpenGL vs D3D vs Rendition vs Glide all over again. Colour me excited.

glBegin(GL_POST);
glColor3bv((GLbyte *)colour_excited);
glDrawElements(GL_TRIANGLES, 1, GL_UNSIGNED_BYTE, get_parent_post(this));
glEnd();
glutPostRedisplay();

Here you go!
(excuse me if there are some errors, I didn't use opengl or c++ in over four years)

Re:Competition is good.. for us (0)

Anonymous Coward | more than 5 years ago | (#27383047)

"haven't used"

Re:Competition is good.. for us (-1, Troll)

Anonymous Coward | more than 5 years ago | (#27388137)

Actually GP's grammar was correct [192.com]

DON'T CLICK PARENT LINK (1)

Albert Sandberg (315235) | more than 5 years ago | (#27388413)

You might now wanna click parent link

Re:Competition is good.. for us (1)

644bd346996 (1012333) | more than 5 years ago | (#27381503)

nVidia is the graphics card vendor that hasn't abandoned their proprietary GPGPU framework in favor of the open standard yet. Sure, they are including support for OpenCL, but that strikes me as very similar to the way Microsoft makes it possible to use OpenGL, but does everything they can to get people to use DirectX.

nVidia is still trying get CUDA into a dominant position in the market, but they don't seem to realize that CUDA's position is much less tenable than Direct3D's position vs. OpenGL. nVidia isn't that far ahead of AMD when it comes to GPGPU performance, and OpenCL has the support of AMD, Apple, and Intel. CUDA is also soon to be facing two well funded competing APIs: OpenCL and DirectX11 Compute Shaders. To me, it looks like the only thing CUDA has going for it is an early-bird advantage that will be irrelevant in a matter of months.

Also, there's a difference between having myriad GPGPU apis and a bunch of physics engines implemented on top of them. It's good for the market to have only one or two low-level (but cross-platform) gpgpu apis, but there will always be a need to have a wide variety of middleware physics engines, because games and other simulations can have very different needs.

Re:Competition is good.. for us (1, Informative)

Anonymous Coward | more than 5 years ago | (#27381619)

NVIDIA's still pushing CUDA 'cause they can evolve the standard much faster than OpenCL or DirectX compute. Since they control it they can directly expose additional general computing features as they add them to their GPU's instead of waiting for a committee bless it, or Microsoft to incorporate it into DirectX.

This is very similar to how Microsoft was able to eventually get DirectX ahead of OpenGL when it came to base spec features. They didn't need ARB buy in to add new feature to the base spec and so could evolve it at their pace.

Another advantage NVIDIA's had is that the two new compute specs are basically based on CUDA already so there's little work for them to do to support OpenCL (in fact I heard NVIDIA loaned some of their engineers who worked on CUDA to Apple to help write the spec). NVIDIA's plan is to push and evolve this GPGPU thing, while AMD is just playing catch up now that it seems like it might catch on.

Re:Competition is good.. for us (0)

Anonymous Coward | more than 5 years ago | (#27381887)

There is one thing you are missing, and that's the academic aspect.

One of the reasons Linux is so popular, is that academia embraced it, and spread it...

The same is happening with CUDA, just do a search and see how much is out there in terms of code and programs.

Re:Competition is good.. for us (0)

Anonymous Coward | more than 5 years ago | (#27384885)

There are actually quite a few classes in CUDA at my university. AFAIK, there are no equivalents in OpenCL.

Re:Competition is good.. for us (1)

644bd346996 (1012333) | more than 5 years ago | (#27396523)

That's because there are no OpenCL implementations, and the spec was only released last December.

Re:Competition is good.. for us (4, Informative)

Quarters (18322) | more than 5 years ago | (#27382619)

but that strikes me as very similar to the way Microsoft makes it possible to use OpenGL, but does everything they can to get people to use DirectX.

Really, the OpenGl working group does everything they can to get people to use DirectX. If they would be more nimble in adding new features to the spec things would be a different place. Instead, they move along at a glacial pace and the standard method of spec evolution goes something like this:
* Microsoft announces DirectX n with new features XYZ
* nVidia and ATi release cards that support DirectX n
* A few years later game developers release games that support DirectX n. Some game developers, like iD, work with ATi and nVidia to get OpenGL extensions running on hardware from both IHVs that support the features of DirectX n
* A few years later the OpenGL working group ratifies OpenGL version++ that unifies support for the features of all of the various OpenGL extensions that have been written since the current OpenGL spec was ratified.

While Microsoft's method might be more autocratic than the OGL working group's method it does tend to get new features in the hands of ISVs and consumers more quickly. Plus, it's not like Microsoft dictates everything that goes in to a given DirectX release. They work with numerous ISVs and IHVs to find out what features are being requested.

Re:Competition is good.. for us (1)

0xygen (595606) | more than 5 years ago | (#27382699)

Wish I still had modpoints, as far as I am concerned you have hit the nail on the head.

Considering the direction of 3D hardware is now pretty much determined by meetings about DirectX specs between MS & ATI / MS & nVidia, the OpenGL might as well follow along closely.

Once they know it's going to appear in each manufacturer's silicon, what is the point in not supporting it ASAP.

Re:Competition is good.. for us (1)

644bd346996 (1012333) | more than 5 years ago | (#27383087)

You're quite right. The OpenGL ARB makes Microsoft's job far too easy.

Re:Competition is good.. for us (1)

msormune (808119) | more than 5 years ago | (#27385971)

Not to mention many people confuse DirectX with Direct3D... DirectX offers the complete package for game developers, OpenGL does not.

Re:Competition is good.. for us (1)

cosynest.ru (1523047) | more than 5 years ago | (#27439207)

I am agree, you are right. And agreed that "The OpenGL ARB makes Microsoft's job far too easy" :) Thanks. Yours, cosynest.ru

Re:Competition is good.. for us (3, Insightful)

LoRdTAW (99712) | more than 5 years ago | (#27382591)

OGL, D3D etc. are API's just like CUDA and OpenCL. Physics engines as you know are software kits available to game developers to implement in their titles. You should be happy that already the industry is not about to get into the API fight you mentioned. Instead they are readying their software to not only work on their hardware but competitors hardware as well using a common API. Lets all be grateful Nvidia isn't trying to shove CUDA down everyone's throat. With PhysX implemented in OpenCL everyone wins. Nvidia gets to sell more licenses due to their engine working on a wider variety of hardware and gamers don't have to be limited in their hardware selection.

Nvidia moving toward OpenCL is a very good thing. Much better than moving to DirectX 11 GPGPU which limits their software to MS platforms.

This (0)

Anonymous Coward | more than 5 years ago | (#27381035)

would be nice for (amongst other things) boinc.

And maybe then, we could get some action on linux, not hinting at seti@home and other projects.

OpenCL orinally submitted to the Kronos Group (0)

Anonymous Coward | more than 5 years ago | (#27381391)

For those of you who don't know, Charles Menezes was shot in the head because of project Kronos!!

Oh no, hold on, that was operation Kratos. Damn! Project Kronos is the one where they shoot themselves in the foot.

It would be a great thing (2, Interesting)

iampiti (1059688) | more than 5 years ago | (#27381459)

A standard (even if it's a de facto one) API for physics would mean more developers would consider it and gamers would be happy because it'd work with all cards.
I guess Nvidia would gain money through licensing and AMD/ATI...I don't know, do they stand to lose anything because of this?
Besides that, physx is available for the PS3 and (I believe) the Wii so it would be a (more or less) universal API for physics acceleration.

Re:It would be a great thing (1)

alexandre_ganso (1227152) | more than 5 years ago | (#27383003)

Besides that, physx is available for the PS3 and (I believe) the Wii so it would be a (more or less) universal API for physics acceleration.

The Wii uses an ATI card. How could that be possible already?

Re:It would be a great thing (1)

Elledan (582730) | more than 5 years ago | (#27386603)

PhysX can run both on a CPU and a PPU/GPU. Or a Cell processor for that matter. Of course, the GPU & Cell options will be light years ahead compared to the CPU when it comes to performance, but it would run.

They don't have much choice (1)

Joce640k (829181) | more than 5 years ago | (#27381469)

It's nice to see somebody doing the decent thing for once. Much better to put the thing out there and use it to sell some next-gen graphics cards instead of spending years trying to "win" via lock-in-and-lawyers.

If only people like the RIAA could see a similar light.

Re:They don't have much choice (1)

pak9rabid (1011935) | more than 5 years ago | (#27387749)

It's nice to see somebody doing the decent thing for once. Much better to put the thing out there and use it to sell some next-gen graphics cards instead of spending years trying to "win" via lock-in-and-lawyers.

Agreed. nVidia has traditionally been a big supporter of open APIs. I remember back in 3dfx's hey-day, glide (3dfx's proprietary API) was all the rage...until nVidia entered the market and pushed OpenGL quite heavily.

Total hypocrits (1, Insightful)

Anonymous Coward | more than 5 years ago | (#27381707)

How about those fuckers at nvidia start by writing real open source drivers for their cards ?

xorg's nv is incredibly lame (doesn't even handle clock speed, because of "proprietary information"), and if you're not running one of those few systems that supports BINARY CLOSED SOURCE DRIVERS, you're totally out of luck.

First, they should play ball, then they can talk about writing standards.

Re:Total hypocrits (1)

jensend (71114) | more than 5 years ago | (#27383795)

They didn't talk about writing standards. Even if they had, that would have no relevance to whether or not they produce open-source drivers.

Are you sure you know what "hypocrite" means?

In any case, they're under no obligation to cater to you or the other few people who are unable or unwilling to use closed source drivers.

Don't get me wrong; I'd love to see open-source nV drivers and think that they and AMD/ATI are making a huge mistake by essentially allowing Intel to dictate the development of the revamped acceleration stack (GEM, UXA, DRI2, etc). nV should be providing input into this process instead of thinking that since their drivers don't use DRI that this isn't relevant to them. But I'm not under the delusion that they "owe me one" or that it's somehow "hypocritical" of them to use OpenCL just because they don't provide open source drivers.

Re:Total hypocrits (0)

Anonymous Coward | more than 5 years ago | (#27390213)

Well,read the manpage for the nv(4) driver in xorg sometimes. Then you'll see where the hypocrits comes from...

There's exactly ZERO mention in that documentation that this driver is totally lame. Heck, it even says it "supports" 2D acceleration... which is of course totally defeated by the lack of clock speed support.

Publishing an open source driver, not mentioning that it's basically half-broken, as though it's a working driver... like duh. is that enough hypocrisy for you ?

Re:Total hypocrits (0)

Anonymous Coward | more than 5 years ago | (#27384565)

Drivers for Linux? LOL. They should try to write good drivers for Windows first. I'm tired of seeing this "nvidia shitty drivers crashed" screen:
http://img388.imageshack.us/img388/586/nvidiard7.png

and also this one:
http://img4.imageshack.us/img4/2584/image016u.png

My onboard ATI card (780G chipset) works so much better it's not even funny. I just bought a Radeon 4650 to solve the problem for good.

Flamebait perhaps, but so fucking true :(

Brilliant (1)

coniferous (1058330) | more than 5 years ago | (#27382161)

Step One: Port PhysX to OpenCl

Step Two: Encourage Developers to program with Physx, Now that it works on both sides

Step Three: After universal acceptance of PhysX, include bugs that will only affect ATI owners, making ATI look bad.

Not saying that this *will* happen, but just that its a possibility.

Re:Brilliant (1)

sumdumass (711423) | more than 5 years ago | (#27382313)

Step Four, get sued past the point of any potential returns from the actions outlined.

There are unfair competition/business laws present that could offer a halt to that sort of thing. This is a big part of what MS was busted for and even though the anti trust case was more or less a busted slap on the wrist, Sun did end up taking a sizable chunk of change from MS over the Java implementations that did exactly what you suggested and MS is currently restricted by the settlement over certain things it can do.

But of course, me telling you about it means that the initial problems is most likely what is remembered and not the company getting spanked for their wrong doings in it. So your probably right.

Re:Brilliant (1)

im_thatoneguy (819432) | more than 5 years ago | (#27382425)

Step Four: Frustrated by their games underperforming on half the systems in the world game developers migrate in mass to competing product leaving PhysX an ugly footnote and huge negative entry in NVidia's accounting sheets.

Re:Brilliant (0)

Anonymous Coward | more than 5 years ago | (#27386629)

Except that OpenCL is not from nvidia. Anyone can code up an OpenCL implementation, including AMD. PhysX merely talks to the OpenCL API.
You could compare it with something like SDL, which talks to Alsa, OSS, DirectSound or any other sound API for sound rendering (like PhysX talks to either CUDA or OpenCL). SDL doesn't have any influence on the implementation of that API and probably does not even know which hardware is beneath it.

Yes, that does not stop them from deliberately crippling performance on anything other than Nvidia, by just taking another code path when different hardware is detected, but it will still talk to the same OpenCL API, not to the card directly, so it is easy to debug and find out the performance problem. How bad do you think Nvidia will look if their code talks to AMD's OpenCL implementation differently than Nvidia's?

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>