NVidia Considering Porting PhysX To OpenCL
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.'"
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
http://en.wikipedia.org/wiki/OpenCL
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.
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.
Site & blog: http://www.mayaposch.com
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.
Here you go!
(excuse me if there are some errors, I didn't use opengl or c++ in over four years)
Extreme Programming - Redundant Array of Inexpensive Developers
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.
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.
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.
No sig today...
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.
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.
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.
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.
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.
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.
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.
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.
"haven't used"
You're quite right. The OpenGL ARB makes Microsoft's job far too easy.
There are actually quite a few classes in CUDA at my university. AFAIK, there are no equivalents in OpenCL.
Not to mention many people confuse DirectX with Direct3D... DirectX offers the complete package for game developers, OpenGL does not.
You might now wanna click parent link
That's because there are no OpenCL implementations, and the spec was only released last December.
I am agree, you are right. And agreed that "The OpenGL ARB makes Microsoft's job far too easy" :)
Thanks.
Yours,
cosynest.ru