Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Profiling MPI and benchmarking strong + weak scaling #1451

Closed
ali-ramadhan opened this issue Mar 10, 2021 · 7 comments
Closed

Profiling MPI and benchmarking strong + weak scaling #1451

ali-ramadhan opened this issue Mar 10, 2021 · 7 comments
Labels
distributed 🕸️ Our plan for total cluster domination performance 🏍️ So we can get the wrong answer even faster

Comments

@ali-ramadhan
Copy link
Member

In PR #590 I added a small/quick strong scaling test and @francispoulin calculated the scaling efficiency which wasn't super great:

np       efficiency
==       ==========
2         0.96
4         0.71
8         0.62
16        0.56

I guess to improve performance we should do some MPI profiling to find bottlenecks. Could also benchmark the distributed pressure solve and the halo filling separately to see how they scale as well.

Might also make sense to benchmark scaling with ShallowWaterModel to see if it's an IncompressibleModel issue. Might need a pretty large domain to see good scaling with a 2D shallow water model?

@tomchor pointed out that the benchmark could be flawed. We should make sure everything is compiled. Could also try different sizes and a weak scaling benchmark in case the 1D/slab decomposition isn't helping.

Maybe trying on a different machine too. Not sure if there's a "proper" setup for doing these scaling benchmarks.

Bad scaling efficiency might also be a sign of missing barriers/waits?

@vchuravy We might ask for your help!

@ali-ramadhan ali-ramadhan added performance 🏍️ So we can get the wrong answer even faster distributed 🕸️ Our plan for total cluster domination labels Mar 10, 2021
@vchuravy
Copy link
Collaborator

We might ask for your help!

Happy to help.

@francispoulin
Copy link
Collaborator

Thanks @ali-ramadhan for doing this. I wonder if we could modify this script and run it on ShallowWaterModel to start doing some strong scaling tests for that model?

@ali-ramadhan
Copy link
Member Author

Got some helpful replies from Julia Discourse: https://discourse.julialang.org/t/how-to-profile-julia-mpi-code/57136/4

Leading suggestion by @simonbyrne is to try using NVIDIA Nsight which might allow us to do GPU profiling and MPI profiling!

@tomchor
Copy link
Collaborator

tomchor commented Mar 16, 2021

This registration is still open: https://portal.xsede.org/course-calendar/-/training-user/class/2310/session/3970

It's free and it'll happen on Thursday. I'm considering attending myself

@ali-ramadhan
Copy link
Member Author

Thanks for the heads up, just signed up!

@francispoulin
Copy link
Collaborator

Thanks, and me too!

@glwagner
Copy link
Member

@simone-silvestri has done a bit of this. @simone-silvestri feel free to post your results here. I'm converting this to a discussion.

@CliMA CliMA locked and limited conversation to collaborators Mar 22, 2023
@glwagner glwagner converted this issue into discussion #3002 Mar 22, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
distributed 🕸️ Our plan for total cluster domination performance 🏍️ So we can get the wrong answer even faster
Projects
None yet
Development

No branches or pull requests

5 participants