NVIDIAGameWorks / FleX

Other
646 stars 99 forks source link

Is there multi-gpu support for the solver? Also, how do I apply for access to the CUDA source? #95

Open jlinBE opened 4 years ago

jlinBE commented 4 years ago

I am building a particle simulation based on Flex (just granular particles, no soft bodies, no fluid, etc), and I would like to spread the workload across multiple GPUs if possible. Is there built-in support for this in the solver?

If not, I would be happy to add it myself if I can have access to the CUDA source - the general case is likely difficult, but I could probably hack something together that works just for my simplified use-case.

qi55wyqu commented 4 years ago

I don't think Flex has multi GPU support. A lot of important improvements, accelerations and extensions to PBD, that have been published in the last couple of years, have not been integrated and it does not seem like they will ever be. Since the Flex implementation of PBD is patented I'm afraid there's no chance of getting the source files. You might be better off using an open-source implementation and adapt it to (multi) GPU support or just stick with one GPU.

jlinBE commented 4 years ago

Hi qi55wyqu, thanks for the comment! I picked Flex mainly because the library is relatively well-documented (by scientific software standards) and it's GPU accelerated, and the demos are fairly easy to modify. The library you linked to doesn't seem to be GPU-accelerated, nevermind multi-GPU - writing an entire GPU implementation is way beyond my time/effort budget. Do you know of an up-to-date, (multi-)GPU-accelerated PBD library that supports collisions vs static meshes / SDF?

qi55wyqu commented 4 years ago

There's plenty of PBD implementations on Github but unfortunately I don't know of any that have GPU support.