• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

NVIDIA PhysX Now Open-Source

It doesn't even have to be AMD at this point. Anyone that know how to do it should be able to start porting PhysX over to use the directcompute API making it work universally on any GPU.
DirectCompute is a Microsoft technology. The VUDA approach makes the most sense (Vulkan -> VUDA -> CUDA -> PhysX). Alternatively, it would have to be converted to OpenCL which would translate to less emulation and theoretically better performance. OpenCL has it's own problem though: namely, AMD and Intel support 2.0 where NVIDIA refuses to support beyond 1.1 because it's a direct competitor to CUDA.

Then there's this little problem:
So it makes me wonder if Nvidia will still bundle PhysX in with the driver installs?
Yes, probably, because it will prohibit third-party versions of PhsyX running on systems with NVIDIA GPUs. A universal solution, ergo, won't work well on NVIDIA GPUs unless they change their practice. A third party won't be able to sign installers to replace PhysX unless you forcibly remove PhsyX from the system and mimic it with new PhysX libraries. It's honestly a trainwreck--backwards compatibility is a problem unless NVIDIA jumps on the open-source bandwagon or uninvolves itself letting the open-source version take over.
 
DirectCompute is a Microsoft technology. The VUDA approach makes the most sense (Vulkan -> VUDA -> CUDA -> PhysX). Alternatively, it would have to be converted to OpenCL which would translate to less emulation and theoretically better performance. OpenCL has it's own problem though: namely, AMD and Intel support 2.0 where NVIDIA refuses to support beyond 1.1 because it's a direct competitor to CUDA.

Then there's this little problem:

Yes, probably, because it will prohibit third-party versions of PhsyX running on systems with NVIDIA GPUs. A universal solution, ergo, won't work well on NVIDIA GPUs unless they change their practice. A third party won't be able to sign installers to replace PhysX unless you forcibly remove PhsyX from the system and mimic it with new PhysX libraries. It's honestly a trainwreck--backwards compatibility is a problem unless NVIDIA jumps on the open-source bandwagon or uninvolves itself letting the open-source version take over.

From Khronos (maintainers of OpenGL, OpenCL, Vulkan and a few other APIs) themselves:

We are also working to converge with, and leverage, the Khronos Vulkan API — merging advanced graphics and compute into a single API

It doesn't matter what nV wants now that it's free and opensource: anyone (including you!) can go about porting it to anything else, and write a small wrapper to bringup older games.
 
VUDA would be the only way via Vulkan and I'm not convinced performance would be so reduced as to be unplayable.
 
VUDA would be the only way via Vulkan and I'm not convinced performance would be so reduced as to be unplayable.

VUDA isn't a port, it's a translation/emulation layer that translates CUDA calls into Vulkan calls. With a true port, on the other hand, you change all those original CUDA calls inside of PhysX itself to become OpenCL/Vulkan/DirectCompute/C/Rust/Java/whatever calls instead, and thus not need any sort of translation or emulation.

Edit: for performance, that's mostly an optimization problem. I mean, for the most part, you don't see native D3D or OGL run extraordinarily worse on either vendor's GPUs of roughly equal TFLOPS performance. The real limiter with OG CUDA PhysX is that AMD doesn't support CUDA, and nobody is gonna ship VUDA in a retail product, primarily for fear of a nasty lawsuit from nV (and maybe AMD too).
 
Back
Top