nVidia disables PhysX on systems with other manufacturers graphics

Discussion in 'GPGPU Technology & Programming' started by Kaotik, Aug 8, 2009.

  1. Johnny_Physics

    Newcomer

    Joined:
    Sep 12, 2003
    Messages:
    205
    Likes Received:
    3
    Location:
    Norway
    That's why I added "display drivers" assuming people knew I was talking about the long history of aggressive optimizations and intricate links not always apparent to the actual user.

    Of course nothing happens for no reason.
     
  2. BRiT

    BRiT (╯°□°)╯
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    12,872
    Likes Received:
    9,270
    Location:
    Cleveland
    There most certainly are standards for graphics -- Direct3D and OpenGL.

    The way I've seen PhysX explained to work is they have a set of APIs that take in information from the calling program and return information to the calling program. The PhysX API itself does not do any rendering. It is up to the calling program to do what they want with the information returned.
     
  3. neliz

    neliz GIGABYTE Man
    Veteran

    Joined:
    Mar 30, 2005
    Messages:
    4,904
    Likes Received:
    23
    Location:
    In the know
    nvidia GPU physx runs on Cuda right? how could those calls/commands ever end up on an ATI card?
     
  4. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    There are no standards for passing data from a hardware physics accelerator over to a hardware graphics renderer.

    Assuming it's Client -> PhysX -> Client -> DirectX yes. If it all ends up back on the CPU and passed to the DirectX driver then they don't really have a case. However I have no idea what Nvidia actually does or if they can bind PhysX resources in such a way that enables them to pass some data directly from the physics card to the graphics card. Seems plausible.
     
  5. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    Except that would require the application to have multiple code paths to handle cases where GPU-accelerated physics was not available.

    -FUDie
     
  6. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    They have to do that anyway. It's not like there are multiple options for hardware physics today.
     
  7. neliz

    neliz GIGABYTE Man
    Veteran

    Joined:
    Mar 30, 2005
    Messages:
    4,904
    Likes Received:
    23
    Location:
    In the know
    They already have. Anything that can not be processed by the GPU (like some specific PPU functions) are done on the CPU. that's why the dedicated PPU scores better at all the benchmarks than SLI physics.

    SLI 9800GTX+ is about 60% of 9800GTX+PPU and GTX260-216 breaks even for that setup.
     
  8. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    Why wouldn't the app use the CPU model all the time? I.e. Client->PhysX->Client->GPU. PhysX would use the CPU or GPU (or PPU) as appropriate, completely transparent to the app. Thus, the app doesn't really need to be "GPU-physics" aware.

    BTW, I think a dedicated PPU performs better than a GPU because the GPU is already busy doing graphics. In SLI mode, you aren't using one GPU solely for PhysX are you?

    -FUDie
     
  9. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    Agreed, but that doesn't dictate how data actually moves. The client is just making API calls to the PhysX library/driver. Now the PhysX driver can then decide how best to service those calls.
     
  10. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    The client expects the same results regardless of CPU, PPU or GPU. That means if the client expects to get data back from an API call, then it better get the data!

    -FUDie
     
  11. neliz

    neliz GIGABYTE Man
    Veteran

    Joined:
    Mar 30, 2005
    Messages:
    4,904
    Likes Received:
    23
    Location:
    In the know
    It will get the data back, but some functions simply don't run on GPU and thus have to be processed on the CPU. Ofcourse the app. doesn't know who processed the data but on the hardware side it does matter who does what.
     
  12. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    So explain to me why the application would need separate code paths as you said earlier?

    -FUDie
     
  13. neliz

    neliz GIGABYTE Man
    Veteran

    Joined:
    Mar 30, 2005
    Messages:
    4,904
    Likes Received:
    23
    Location:
    In the know
    My bad, I mistook your "application" for my "cuda application"
     
  14. BRiT

    BRiT (╯°□°)╯
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    12,872
    Likes Received:
    9,270
    Location:
    Cleveland
    Sure there is. It's the hardware graphics renderer API(s); either of the two most popular ones will suffice, OpenGL or Direct3D.

    If you say otherwise, you're arguing that there are no standards for passing data from a CPU to a hardware graphics renderer. You do realize how absurd that sounds, right?
     
  15. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    What do OpenGL and Direct3D have to do with PhysX? Absolutely nada.
     
  16. BRiT

    BRiT (╯°□°)╯
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    12,872
    Likes Received:
    9,270
    Location:
    Cleveland
    You're the one stating there's no API to send data to the GPU. OpenGL/Direct3D are API standards for passing data to the GPU. Do you genuinely not see the connection :?:
     
  17. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    Nope, my original statement says it all. I'm talking about protocols for direct communication between a physics and graphics accelerator. Obviously everything can communicate with everything else if it all goes back to the CPU first.
     
  18. BRiT

    BRiT (╯°□°)╯
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    12,872
    Likes Received:
    9,270
    Location:
    Cleveland
    Which the PhysX API does.
     
  19. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    Well that was the point to begin with, we don't know what it's doing when it's an all Nvidia setup.
     
  20. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    Which brings me back to my point: The app shouldn't have to be aware of whether it's running on an all nvidia setup or not. Thus, the API has to be consistent regardless of what HW it is running on which means it has to return data back to the app when the API call demands it.

    -FUDie
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...