Nalu icon indicating copy to clipboard operation
Nalu copied to clipboard

Re-use of MueLu set-up during time-step nonlinear iterations

Open sthomas61 opened this issue 7 years ago • 4 comments

Observation that the MueLu AMG set-up is called twice per time step (for each nonlinear iteration). If the matrices (Laplacian) are not changing within a time step then only one set-up per time step should be sufficient and re-use the AMG hierarchy. And this would eliminate 50% of set-up costs.

currently costs are 1 sec per set-up call for 256^3 ABL, 96 cores, 50 steps. run time 570 secs 100 set-up calls reduced to 50 would reduce time by 50 sec, and run in 520 sec. originally 640 sec

sthomas61 avatar Apr 22 '17 13:04 sthomas61

The matrices (A) might change (structure, likely not values) in each nonlinear iteration. If so, Nalu has to decide whether it wants to recompute the AMG preconditioner each time. If not, then Nalu can use your suggested optimization. If so, then this ties into the ongoing MueLu "reuse" effort.

mhoemmen avatar Apr 24 '17 01:04 mhoemmen

What is the code line in Nalu? Within a nonlinear iteration, the system's connectivity is not changing.

spdomin avatar Apr 24 '17 16:04 spdomin

If a simulation's mesh is changing, then, we have the option of recompute or reuse in the code base. @aprokop added this logic (specifically, reuse) long ago and would be the contact to learn more about what his intent was.

I am looking at the code and it seems to be in order - especially since we "destroy" the solver_ once per time step.

In general, if a system is not changing over time, we always wan the "recompute_preconditioner" flag to be false. For the sliding mesh, we want a recompute = false; with reuse = true... At least I think. Let me know.

spdomin avatar Apr 24 '17 16:04 spdomin

Is this still active? I thought that the initial premise was wrong. Please close if this is no longer active.

spdomin avatar Oct 30 '17 14:10 spdomin