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

Spack CPU build exago~mpi #47

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from
Draft

Conversation

cameronrutherford
Copy link
Contributor

@cameronrutherford cameronrutherford commented Oct 13, 2023

This PR will first reproduce the failures (or lack thereof), and then we can add and merge in fixes.

Closes:

Comment on lines +17 to +20
# See #39 - minimal build useful for sanity
- exago@develop~mpi~ipopt~hiop~python~raja
# See #16 / #44 - +python~mpi catches mpi4py / python config
- exago@develop~mpi~ipopt~hiop+python~raja
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue in +mpi~python should be equivalent to a build with ~mpi~python as far as I can tell. Either way I think this is sufficient and we need to ensure these builds pass in future.

@@ -41,8 +38,10 @@ jobs:
SPACK_SPEC: ${{ matrix.spack_spec }}
run: |
ls && pwd
. ./tpl/spack/share/spack/setup-env.sh
. /opt/spack/share/spack/setup-env.sh
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is more sustainable, and can be swapped out when we want to use ExaGO's spack.

It might just make more sense to have a package.py stored in the repo for ExaGO as that is the main thing that is regularly modified instead of relying on submodules. Still would be nice to pin a spack version and support that workflow, but making it an optional clone would be best.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The spack repo is is incredibly active, I would be hesitant to pin a version of spack because that's just another package we would could get hung up on a "blessed" version or forget to upgrade that one clone...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify, for 100% reproducible spack builds we need to pin the version in certain situations (such as profiling runs, or key performance runs).

For CI and automated builds, I do think that just using spack's develop like we do with this base image is the best way to go.

Is that in line with what you were thinking?

@cameronrutherford cameronrutherford changed the title CMake fixes for minimal builds (+python~mpi, ~python[+/~]mpi) Draft: CMake fixes for minimal builds (+python~mpi, ~python[+/~]mpi) Oct 16, 2023
@cameronrutherford cameronrutherford marked this pull request as draft October 16, 2023 21:21
@cameronrutherford cameronrutherford changed the title Draft: CMake fixes for minimal builds (+python~mpi, ~python[+/~]mpi) CMake fixes for minimal builds (+python~mpi, ~python[+/~]mpi) Oct 16, 2023
@cameronrutherford cameronrutherford linked an issue Oct 16, 2023 that may be closed by this pull request
3 tasks
@cameronrutherford
Copy link
Contributor Author

Marking as draft for now.

While this PR would in theory solve all our build issues, the real problem (captured in #48), is that we don't build/test with MPI.

For now, this will have to wait for 1.6.0

@cameronrutherford cameronrutherford changed the title CMake fixes for minimal builds (+python~mpi, ~python[+/~]mpi) Spack CPU build exago~mpi Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

exago~mpi causes build issues exago~mpi~python fails to build exago+python~mpi fails to build
2 participants