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

Restriction of number of sweeps on the coarse level #535

Open
tlunet opened this issue Feb 24, 2025 · 7 comments
Open

Restriction of number of sweeps on the coarse level #535

tlunet opened this issue Feb 24, 2025 · 7 comments
Assignees

Comments

@tlunet
Copy link
Member

tlunet commented Feb 24, 2025

https://github.com/Parallel-in-Time/pySDC/blame/a97728a6e789a34cc2f98d9082ca68c3397d9444/pySDC/implementations/controller_classes/controller_nonMPI.py#L73

@ikrom96git stumbled upon it when trying to implement his M^3LSDC approach, is there a reason why this is hard-coded here ? Especially since it's not in the controller_MPI class ...

@pancetta
Copy link
Member

Interesting. 8 years ago..

Well, if I recall correctly, this only applies when working with PFASST. Here, the residual is not computed correctly on the coarsest level, which only matters when you do more than 1 sweep. Sounds mysterious, I know, and this is not in the books (i.e., the paper from Matt and Michael), but this is a result from our multigrid perspective paper.

@tlunet
Copy link
Member Author

tlunet commented Feb 24, 2025

Can one simply not set a given number of sweeps on the coarse level, and do not care about the residuum ?

@pancetta
Copy link
Member

If I remember correctly (and only if), then the way this is implemented this is actually not correct if you do multiple sweeps. Might have something to do with the tau correction. In the case of PFASST, that is.

@pancetta
Copy link
Member

I think there is an implicit assumption that the formulation Matt and Michael used is only valid if you do just 1 sweep on the coarsest level. You can do more, but than this is not a multigrid scheme anymore and hell breaks lose (or so).

@tlunet
Copy link
Member Author

tlunet commented Feb 24, 2025

Then I let @ikrom96git explain why he wants to do more sweeps on the coarse level 😉

@pancetta
Copy link
Member

For MLSDC there is no good reason to not do more sweeps. Yes, you need to change the code here, but that's ok. Feel free to add a PR for this (checking for PFASST and not MLSDC)

@ikrom96git
Copy link
Contributor

Of course, I only need a single sweep for MLSDC and M^3LSDC, but to test whether the coarse level is working correctly, I want to run multiple sweeps on the coarse level.

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

3 participants