-
-
Notifications
You must be signed in to change notification settings - Fork 122
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] Use Spack OCI build cache for MPI packages #788
Conversation
@haampie libmpi can't be dlopened automatically, do we need to set |
dlopen'ed from where? Is julia using runpaths? That can cause rpaths to be ignored when locating dependencies of the library :) ldd looks OK:
|
dlopen just by name |
Ok, giving a hint of where libmpi is did the trick: 211c743 |
Ah okay, yes, you can set spack:
modules:
prefix_inspections:
lib: ["LD_LIBRARY_PATH"]
lib64: ["LD_LIBRARY_PATH"] in the env, and then |
ec26bf5
to
31a132c
Compare
Ok, this is all working well...except GHA is messing up with an environment variable: MPI.jl/.github/workflows/UnitTests.yml Lines 505 to 512 in 42e514f
MPITRAMPOLINE_MPIEXEC to which mpiexec , and then try to print it. https://github.com/JuliaParallel/MPI.jl/actions/runs/6746922493/job/18341922748?pr=788#step:5:23 shows that MPITRAMPOLINE_MPIEXEC is set to /home/runner/work/github-actions-buildcache/github-actions-buildcache/spack/opt/spack/__spack_path_placeholder__/__spack_path_pl/linux-ubuntu22.04-x86_64_v2/gcc-12.3.0/intel-mpi-2019.9.304-ecfipz6mxgepmrkwp5dl5oohion5m54r/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpiexec (which is the right value), but then when I print its value I get /__w/github-actions-buildcache/github-actions-buildcache/spack/opt/spack/__spack_path_placeholder__/__spack_path_pl/linux-ubuntu22.04-x86_64_v2/gcc-12.3.0/intel-mpi-2019.9.304-ecfipz6mxgepmrkwp5dl5oohion5m54r/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpiexec , which is a non-existing path, basically changing /home/runner/work into /__w . No clue why GHA is doing this non-sense.
Edit: the docker create command looks like
Note |
2c2c1b8
to
662f606
Compare
I've updated the paths in the buildcache to |
Alright, this is working great now! I'll uncomment all other jobs and then merge. Thanks @haampie for all the help! |
3cab429
to
e901ca8
Compare
This reverts commit 211c743.
Intel MPI is currently broken, better to use oneAPI MPI.
Now we have Spack build cache in `/opt/spack`, so that we shouldn't hit the GitHub Action issue.
e2e21c4
to
01a7d11
Compare
Alright, this PR cuts CI time by about 1/3, mainly by bringing the mvapich2 job from 45 minutes to less than 5. There are still some failures around (some of which tracked by #749), but these are unrelated to this PR. Thanks @haampie for implementing the OCI caching feature in spack and all the help here! 🚀 |
Fix #744.