Slashdot Mirror


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.'"

40 of 54 comments (clear)

  1. Theory versus Practice by Anonymous Coward · · Score: 5, Interesting

    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

    1. Re:Theory versus Practice by linhares · · Score: 2, Interesting
      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?

    2. Re:Theory versus Practice by Midnight+Thunder · · Score: 3, Insightful

      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.

      --
      Jumpstart the tartan drive.
    3. Re:Theory versus Practice by Trepidity · · Score: 1

      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.

    4. Re:Theory versus Practice by master5o1 · · Score: 1

      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!)

      --
      signature is pants
    5. Re:Theory versus Practice by linhares · · Score: 1

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

    6. Re:Theory versus Practice by zippthorne · · Score: 1

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

      --
      Can you be Even More Awesome?!
    7. Re:Theory versus Practice by drerwk · · Score: 1, Interesting

      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.

    8. Re:Theory versus Practice by linhares · · Score: 1

      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 costs more than USD4.300. Laugh it up, my friends!

    9. Re:Theory versus Practice by rsmith-mac · · Score: 1

      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.

    10. Re:Theory versus Practice by master5o1 · · Score: 1

      I thought that was Vista's job?

      --
      signature is pants
    11. Re:Theory versus Practice by linhares · · Score: 1

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

    12. Re:Theory versus Practice by Cornelius+the+Great · · Score: 1

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

      --
      Sigs are for losers
    13. Re:Theory versus Practice by master5o1 · · Score: 1

      Who said that processing chores had to be useful computation?

      --
      signature is pants
  2. OpenCL? by mac1235 · · Score: 5, Informative
    1. Re:OpenCL? by Z00L00K · · Score: 5, Interesting

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

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:OpenCL? by Zumbs · · Score: 1

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

      --
      The truth may be out there, but lies are inside your head
    3. Re:OpenCL? by Little_Professor · · Score: 1

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

  3. Re:Competition is good.. for us by Elledan · · Score: 4, Insightful

    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
  4. Re:Competition is good.. for us by Yetihehe · · Score: 5, Funny

    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)

    --
    Extreme Programming - Redundant Array of Inexpensive Developers
  5. It would be a great thing by iampiti · · Score: 2, Interesting

    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.

    1. Re:It would be a great thing by alexandre_ganso · · Score: 1

      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?

    2. Re:It would be a great thing by Elledan · · Score: 1

      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.

      --
      Site & blog: http://www.mayaposch.com
  6. They don't have much choice by Joce640k · · Score: 1

    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...
    1. Re:They don't have much choice by pak9rabid · · Score: 1

      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.

  7. Re:Competition is good.. for us by 644bd346996 · · Score: 1

    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.

  8. Re:Competition is good.. for us by Anonymous Coward · · Score: 1, Informative

    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.

  9. Total hypocrits by Anonymous Coward · · Score: 1, Insightful

    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.

    1. Re:Total hypocrits by jensend · · Score: 1

      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.

  10. Brilliant by coniferous · · Score: 1
    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.

    1. Re:Brilliant by sumdumass · · Score: 1

      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.

    2. Re:Brilliant by im_thatoneguy · · Score: 1

      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.

  11. Re:Competition is good.. for us by LoRdTAW · · Score: 3, Insightful

    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.

  12. Re:Competition is good.. for us by Quarters · · Score: 4, Informative

    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.

  13. Re:Competition is good.. for us by 0xygen · · Score: 1

    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.

  14. Re:Competition is good.. for us by 644bd346996 · · Score: 1

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

  15. Re:Competition is good.. for us by msormune · · Score: 1

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

  16. DON'T CLICK PARENT LINK by Albert+Sandberg · · Score: 1

    You might now wanna click parent link

  17. Re:Competition is good.. for us by 644bd346996 · · Score: 1

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

  18. Re:Competition is good.. for us by cosynest.ru · · Score: 1

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