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

CI Testing #29

Closed
cameronrutherford opened this issue Oct 5, 2022 · 9 comments
Closed

CI Testing #29

cameronrutherford opened this issue Oct 5, 2022 · 9 comments
Assignees
Labels

Comments

@cameronrutherford
Copy link
Collaborator

It would be great to have basic testing of mam4xx in GitHub actions CI on an ubutnu image, along with testing in a mirrored GitLab instance at PNNL for GPU based testing.

https://github.com/LLNL/hiop/blob/develop/.github/workflows/test.yml - this is an example of building with CMake in CI, although this might not be the easiest to implement since we require haero to build at the moment. Perhaps would be doable with some steps to also configure and build haero with OpenMP as a backend.

https://github.com/LLNL/hiop/blob/develop/.github/workflows/push_mirror.yml - if a mirror is set up at PNNL, we would have a GitHub action that triggers the pipeline at PNNL, and then queries the pipeline while it is running for the result. This integration works automatically with some tiers of GitLab, and some documentation is also outlined here https://ecp-ci.gitlab.io/docs/guides/build-status-gitlab.html

This will probably have to wait until haero and other submodules are made open source and are publically available, as it would probably otherwise be a nightmare to manage.

cc @jeff-cohere @pressel @singhbalwinder

@jeff-cohere
Copy link
Collaborator

Hopefully we'll be able to open up the Haero repo (and this one) soon. I have never been convinced that anything in either of these repos justifies them being private.

@jeff-cohere
Copy link
Collaborator

Good news! Haero is now public. I had started on a simple CI configuration (GitHub Actions) for mam4xx. Maybe I can get that up and running now.

@cameronrutherford
Copy link
Collaborator Author

Great! Let me know if you want to open a draft PR so we can debug together if needed

@jeff-cohere
Copy link
Collaborator

Thanks, @cameronrutherford . See #30, where I set up an initial GitHub Actions workflow. It doesn't work because Haero has some submodules that need an SSH key. I'm pretty sure I've found ways to work around these issues in the past, but if you are adept at this, you might be able to take it to the finish line! Then we could just patch the PNNL GitLab stuff into this workflow, I'm guessing.

@jeff-cohere
Copy link
Collaborator

Okay, #30 is in. So I think we have a dispatch point for a PNNL GitLab setup.

@jeff-cohere
Copy link
Collaborator

Information on GitLab runners at NERSC:

https://docs.nersc.gov/services/gitlab/

Note that Cori is going away very soon, so hopefully they will offer a Perlmutter option. I don't know if it's worth it to get things set up before then, with Cori's imminent retirement.

@cameronrutherford
Copy link
Collaborator Author

Looks like setting up a GitLab instance at NERSC is also currently potentially a little easier than at PNNL since they have custom executors that are integrated directly into SLURM. We end up having to write bash script to achieve the same thing at PNNL, although the workaround is robust at this point

@cameronrutherford
Copy link
Collaborator Author

Even though Cori is retiring soon, I would hope that there wouldn't be significant downtime between the transition, and that we can easily move the location of where we test. It might even be as easy as changing the slurm partition in the yaml script if we have a robust enough configuration.

@jeff-cohere
Copy link
Collaborator

Thanks to #64, we now have continuous integration with CPUs and GPUs. Nice work, @cameronrutherford !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants