Nvidia PhysX = Software or Hardware

Discussion in 'Videocards - Intel ARC & ARC Driver section' started by ThEcLiT, May 16, 2009.

  1. ThEcLiT

    ThEcLiT Master Guru

    Messages:
    520
    Likes Received:
    47
    GPU:
    Gigabyte 460 1gb OC
  2. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    I might be totally wrong here but first of all it depends on the title, PhysX can enhance programs in a variety of ways but most of the games using it only uses software physics for simple stuff like character ragdolls and smaller particle effects whereas some titles uses hardware capabilities to enhance effects like particles (Density and the amount of them.) fluids and cloth plus some other thing (AGEIA PPU can also do rigid bodies which I'm a bit uncertain about but CUDA will probably provide for this with the 3.0.0 PhysX drivers, current ones are 2.8.2 something if I remember correctly.)

    As for how it works the AGEIA cards used a PPU to handle the calculations, not too fast compared to a processor but much faster on those calculations, it also had a bit of RAM to help things out, NVIDIA ported this via CUDA and their so called stream processors from the NV 8 series and up and it'll also use the cards VRAM to help things out a bit.

    Speed wise the AGEIA PPU needs to process via the CPU and GPU whereas the NVIDIA CUDA cards can do things directly via the GPU so they'll be a bit more efficient as seen in heavily accelerated titles like Mirrors Edge and Sacred 2.

    There's some more info via NVIDIA's public forums and the developer forums if you're interested. :)

    http://developer.nvidia.com/forums/index.php?showforum=16
    (Developer forum, PhysX section.)
     
  3. Glidefan

    Glidefan Don Booze Staff Member

    Messages:
    12,481
    Likes Received:
    51
    GPU:
    GTX 1070 | 8600M GS
    Well, PhysX is hardware accelerated on the GeForce cards, but it is being driven via a driver.
    Some games implement a CPU solution (basically games that use physics for gameplay like a puzzle game.)
    But so far those that use it for eye candy are using the GPU.
    Now, whether nvidia inserted something extra in the GPUs, that i don't know but i'm guessing it is the architecture of the whole GPU that allows the card to accelerate them, rather than extra stuff. (i.e. the way the various calculation units are implemented).
     
  4. sykozis

    sykozis Ancient Guru

    Messages:
    22,492
    Likes Received:
    1,537
    GPU:
    Asus RX6700XT
    Stream Processors + CUDA = PhysX works. Stream Processors made GPGPU features possible. So, technically, yes...nVidia did add something extra....but the stream processors were also a requirement of Dx10. DX11, will also make heavy use of Stream Processors once all the drivers are written to enable all DX11 features.
     

  5. ThEcLiT

    ThEcLiT Master Guru

    Messages:
    520
    Likes Received:
    47
    GPU:
    Gigabyte 460 1gb OC
    thx all for informations and answers. i think i got my answer clearly. thx all again.

    here is an email i saw at 1 forum.

     
  6. chinobino

    chinobino Maha Guru

    Messages:
    1,139
    Likes Received:
    75
    GPU:
    MSI 3060Ti Gaming X
    Is it just me or does the nVidia guy sound like he is just iterating his own version of PhysX? :3eyes:

    For starters there is no "NVIDIA PhysX card" it's actually an AGEIA Physx PCI card, nVidia bought out AGEIA but never made their own dedicated Physx PCI card.

    Dedicated chipset? lol

    If it was truly "dedicated" to Physx then how would it render the other non-PhysX visuals? Poor choice of words.

    http://www.nvidia.com/object/nvidia_physx.html

    http://www.nvidia.com/object/geforce_gtx_280.html
    http://www.nvidia.com/object/geforce_gtx_260.html

    No mention of any special "chipset" being added for physx, only the implentation of CUDA via the unified shader architecture or "processing cores" as they call them on their site.

    Interesting that he mentions driver 180.08, I was running Physx way back on driver 177.92 on my 8800GT's...



    Back on topic - is PhysX software or hardware?

    Answer = Both.

    You must have the hardware (unified shader architecture) required to run the software (CUDA + PhysX).

    So what's the one thing that "All GeForce 8, 9, and GTX 200 series graphics cards" have in common?

    Unified shader architecture.

    And what's significant about this?

    It allows the GPU to programmed to use a consistent instruction set across all shader types (vertex, pixel and geometry shaders).

    nVidia developed all GeForce 8 cards and later so that they don't have discrete vertex and pixel shaders (unlike the previous GeForce cards which had a fixed number of vertex and pixel "pipelines"), but to instead have flexible "stream processors" that can be programmed to perform either task depending on need, or indeed perform any task which requires a high throughput of data, such as processing physics calculations. They also added the geometry shader to implement new DX10 features.

    The Physx software created by AGEIA was adapted for use on a GPU via nVidia's CUDA (software) and the Unified shader architecture (hardware).

    Hope this helps :)
     
    Last edited: May 18, 2009
  7. ThEcLiT

    ThEcLiT Master Guru

    Messages:
    520
    Likes Received:
    47
    GPU:
    Gigabyte 460 1gb OC
    thx alot @chinobino.
    So this part "or the GeForce GTX 200 series of cards that has the dedicated PhysX chipset to accelerate PhysX while gaming. " is somehow wrong.
     
  8. chinobino

    chinobino Maha Guru

    Messages:
    1,139
    Likes Received:
    75
    GPU:
    MSI 3060Ti Gaming X
    It's a bit misleading - as there is nothing that has been added to the "GeForce GTX 200 series of cards" specifically for Physx.

    All nVidia did was increase the number of "processing cores" from the 8 series, which allows more simultaneous instructions to be run at once (i.e. the GTX280 has 240 "processing cores" as compared to the 8800GTX which had 128).

    The next generation, GT300, will have an increased number of "processing cores" (allegedly 512), which will allow even more simultaneous instructions to be run at once :).
     

Share This Page