• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

NVIDIA PhysX Now Open-Source

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.44/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
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.
 
Joined
Jul 31, 2014
Messages
481 (0.13/day)
System Name Diablo | Baal | Mephisto | Andariel
Processor i5-3570K@4.4GHz | 2x Xeon X5675 | i7-4710MQ | i7-2640M
Motherboard Asus Sabertooth Z77 | HP DL380 G6 | Dell Precision M4800 | Lenovo Thinkpad X220 Tablet
Cooling Swiftech H220-X | Chassis cooled (6 fans + HS) | dual-fanned heatpipes | small-fanned heatpipe
Memory 32GiB DDR3-1600 CL9 | 96GiB DDR3-1333 ECC RDIMM | 32GiB DDR3L-1866 CL11 | 8GiB DDR3L-1600 CL11
Video Card(s) Dual GTX 670 in SLI | Embedded ATi ES1000 | Quadro K2100M | Intel HD 3000
Storage many, many SSDs and HDDs....
Display(s) 1 Dell U3011 + 2x Dell U2410 | HP iLO2 KVMoIP | 3200x1800 Sharp IGZO | 1366x768 IPS with Wacom pen
Case Corsair Obsidian 550D | HP DL380 G6 Chassis | Dell Precision M4800 | Lenovo Thinkpad X220 Tablet
Audio Device(s) Auzentech X-Fi HomeTheater HD | None | On-board | On-board
Power Supply Corsair AX850 | Dual 750W Redundant PSU (Delta) | Dell 330W+240W (Flextronics) | Lenovo 65W (Delta)
Mouse Logitech G502, Logitech G700s, Logitech G500, Dell optical mouse (emergency backup)
Keyboard 1985 IBM Model F 122-key, Ducky YOTT MX Black, Dell AT101W, 1994 IBM Model M, various integrated
Software FAAAR too much to list
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.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.44/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
VUDA would be the only way via Vulkan and I'm not convinced performance would be so reduced as to be unplayable.
 
Joined
Jul 31, 2014
Messages
481 (0.13/day)
System Name Diablo | Baal | Mephisto | Andariel
Processor i5-3570K@4.4GHz | 2x Xeon X5675 | i7-4710MQ | i7-2640M
Motherboard Asus Sabertooth Z77 | HP DL380 G6 | Dell Precision M4800 | Lenovo Thinkpad X220 Tablet
Cooling Swiftech H220-X | Chassis cooled (6 fans + HS) | dual-fanned heatpipes | small-fanned heatpipe
Memory 32GiB DDR3-1600 CL9 | 96GiB DDR3-1333 ECC RDIMM | 32GiB DDR3L-1866 CL11 | 8GiB DDR3L-1600 CL11
Video Card(s) Dual GTX 670 in SLI | Embedded ATi ES1000 | Quadro K2100M | Intel HD 3000
Storage many, many SSDs and HDDs....
Display(s) 1 Dell U3011 + 2x Dell U2410 | HP iLO2 KVMoIP | 3200x1800 Sharp IGZO | 1366x768 IPS with Wacom pen
Case Corsair Obsidian 550D | HP DL380 G6 Chassis | Dell Precision M4800 | Lenovo Thinkpad X220 Tablet
Audio Device(s) Auzentech X-Fi HomeTheater HD | None | On-board | On-board
Power Supply Corsair AX850 | Dual 750W Redundant PSU (Delta) | Dell 330W+240W (Flextronics) | Lenovo 65W (Delta)
Mouse Logitech G502, Logitech G700s, Logitech G500, Dell optical mouse (emergency backup)
Keyboard 1985 IBM Model F 122-key, Ducky YOTT MX Black, Dell AT101W, 1994 IBM Model M, various integrated
Software FAAAR too much to list
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).
 
Top