Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Algebraic Multigrid GPU integration #527

Open
MRiabov opened this issue Oct 29, 2024 · 1 comment
Open

Algebraic Multigrid GPU integration #527

MRiabov opened this issue Oct 29, 2024 · 1 comment

Comments

@MRiabov
Copy link

MRiabov commented Oct 29, 2024

Hello Project Chrono,
I'm digging deep on how to make Project Chrono faster, and work on GPUs.

Is there a reason Chrono does not use Nvidia AmgX instead of it's CPU solvers? Algebraic multigrid on GPUs is 10-100x faster than the CPU solvers, and considering that solving equations takes around 70% of the solution time (to my knowledge), it's the easiest way to increase performance.
I know Algebraic Multigrid is successfully used in Comsol, for example, where it is a standard because of it's speed. Ansys uses it too.

Is there anything that stops us from integrating it to Chrono? All FSI, FEA, magnetic and other simulations can be vastly sped up with a simple API connection.
Do I not know something?

Cheers.

@MRiabov
Copy link
Author

MRiabov commented Oct 30, 2024

I've also talked with @rserban over a month ago about porting FEM to GPU, he said:

But even more importantly, it is not clear to me that it is worth it and that one would get the performance gains you seem to expect from a port to GPU. FEA does not map well to the GPU programming paradigm (unlike granular dynamics or SPH). For the types and sizes of FEA problems we’re interested in, it is unlikely a port to GPU is worth it.

Because, as far as I understand, he means that it because FEM is traditionally a sequential execution program, not parallel execution.
But AMG methods are parallel for whichever equations are given. OK, I'm not super-versed in FEM solver mathematics, but from what I've explored in FEM (and I explored thoroughly), there is nothing that can't be done.

Are we stopped by literally anything but plugging it in?
Cheers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant