-
Notifications
You must be signed in to change notification settings - Fork 34
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
Large performance deficit for AMG due to DOF ordering by nodes #1175
Comments
@tupek2 This may be part of why AMG always ends up slower than Jacobi |
Thanks for looking at this-- my understanding was that Hypre originally only supported one DOF ordering option, but that a couple years ago support was added for both (either in Hypre directly, or through inserting an extra permutation in mfem). The fact that one option is almost an order of magnitude slower than the other is certainly surprising to me-- I'll ask some mfem developers for clarification on what might be the cause. |
I think that |
I assume that the slowdown is a bug due to the permutation being wrong/not properly applied when constructing the near-null space of the operator. |
This seems like a pretty significant development. If |
@samuelpmishLLNL Here's the results without changing the With
With
Note that this is faster overall due to the preconditioner being cheaper to construct, but has far more iterations in the |
Fixed by #1176 |
The use of the DOF ordering
Ordering::byNODES
is severely degrading the performance of the algebraic multigrid preconditioners. Depending on the problem, this ordering can increase the number of CG iterations (and thus preconditioner constructions) by 3-5x, often almost doubling the wall clock time as well.Comparing the number of CG iterations required for
tests/solid_nonlinear_solve
with theHypreAMG
preconditioner:With
Ordering::byNODES
(current):With
Ordering::byVDIM
(changed):Jacobi performance for comparison (note that with the proper ordering, AMG is faster!):
With
Ordering::byNODES
(current):With
Ordering::byVDIM
(changed):The text was updated successfully, but these errors were encountered: