-
Notifications
You must be signed in to change notification settings - Fork 37
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
Add utility for matrix builds #373
Conversation
dc69b6b
to
2af2b31
Compare
I've tested this some but it seems prohibitively slow to do each build one after the other. Building each configuration in parallel with each other, on the other hand, is going to be tricky, requiring a different conda environment and worktree for each. Also, it seems like we need to generate a job script for each setup. Otherwise, it's too hard to run everything in interactive jobs. I think I might want to introduce that capability before the build matrix. |
Hello @xylar! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
Comment last updated at 2022-04-29 07:06:32 UTC |
93ef253
to
6aa0443
Compare
@sbrus89, I will continue to test this but it seems to be working. I am going to use it to test a different branch where I will be adding PETSC and LAPACK. If you have time to review and give feedback, this PR is the highest priority for me among the ones where I have asked for your review. I know you're still recovering so no pressure, just wanted to let you know which is a priority for me. |
@xylar, great; thanks for letting me know. I'm going through this and testing it out now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, just thinking out loud here: could the build for each matrix member be included in the job script? |
It could be but if you submitted all the jobs at once, they would mess each other up. The build can't happen in parallel in the same directory. |
very true. |
I like that idea very much. I don't see any downside since you should be able to override the default wall-clock time, account, etc. if the deafults don't make sense. |
I really do want to figure out how to do all the builds in parallel. If I do 10 builds on Anvil, it takes hours. I will probably add that in the future as an optional feature where it creates a worktree for each build. That has its own serious overhead but would save time for situations with a lot of builds. |
@sbrus89, I added more documentation (including docstrings, oops!). I also added the |
c7106c3
to
3a95262
Compare
@sbrus89 the I think it might be necessary to change |
@xylar, I tried out the |
Often, developers want to test a given set of test cases or a test suite with multiple compilers and configurations. Doing this process manually can be challenging and prone to mistakes. The
setup_matrix.py
scrip is designed to automate this process with the help of a config file similar toexample.cfg
. See theREADME.md
added as part of this PR.