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

Block Explicit implementation for unstructured meshes #887

Closed
aliabdolali opened this issue Feb 12, 2023 · 6 comments
Closed

Block Explicit implementation for unstructured meshes #887

aliabdolali opened this issue Feb 12, 2023 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@aliabdolali
Copy link
Contributor

Is your feature request related to a problem? Please describe.
The explicit scheme in WW3 can be improved in term of efficiency by the implementation of the block explicit scheme o on unstructured meshes and on a global scale. In principle, exchanges are only called for each freq in this solver which reduces latency and therefore improves the performance on runs with a large core count.

@aliabdolali
Copy link
Contributor Author

this is a part of wise PR#888 and the highest priority to be integrated before we continue other issues.

@aliabdolali
Copy link
Contributor Author

@AvichalMehra-NOAA we need to check block explicit on the target mesh (1.8M) and see if the same efficiency improvement I have seen in the regtest is gained or not.

@aronroland
Copy link
Collaborator

aronroland commented Feb 20, 2023

For defining the block we can even sacrifice the dispersivity of the waves in terms of CFL to reduce latency. This would then basically be equivalent to the implicit schemes (in terms of communication within one sub-step of the explicit scheme), however exchanging would happen for all components on the lowest time step. This can be still of benefit when using large core counts e.g. > 10000

@aliabdolali
Copy link
Contributor Author

@aronroland I totally agree with you. We have different applications, for coastal, nobody will use explicit but for global cases like our GFS and GEFS, we still would like to take advantage of the great performance of unstructured meshes, at the same time make sure it scales well. So, if block explicit is going to be used for only large global meshes, running on a large number of CPU cores, we can go in that direction. However, other users who do not have access to large cpu counts will suffer. We need to test more Aron.

@aronroland
Copy link
Collaborator

Well Ali, u brought it to the point. The parallelization strategy and the decision, which parallelization or scheme to implement for the certain problem and the given environment, grid resolution, physical processes is to be chose by the experienced modeller, nevertheless it i on us to provide some guidance or as a different strategy to keep just one scheme, which is good in the mean ...

@JessicaMeixner-NOAA
Copy link
Collaborator

Close with merge of PR #888

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

3 participants