-
Notifications
You must be signed in to change notification settings - Fork 55
[feature/update_to_spack_v1] Update to spack version 1.0.1 #1741
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
[feature/update_to_spack_v1] Update to spack version 1.0.1 #1741
Conversation
…pack-stack to new api version 2 under repos/spack_stack
…ubmodule pointer for spack
…ib instead of zlib-ng for zlib-api
…associated templates
…antis/packages.yaml
…pack_stack/spack_repo/spack_stack/packages/neptune_env/package.py, repos/spack_stack/spack_repo/spack_stack/packages/neptune_python_env/package.py
…thub.com/climbfuji/spack-stack into feature/update_from_spack_dev_3b34f964da
…s COMPILER_TRANSLATION_TABLE
…/spack_repo/spack_stack/packages/neptune_python_env/package.py
…es/neptune_python_env/package.py
This PR fixes the syntax in `release_tasklist.md` following the instructions in https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.
…eature/update_from_spack_dev_3b34f964da
|
FWIW, changing |
…thub.com/climbfuji/spack-stack into feature/update_from_spack_dev_3b34f964da
… set compiler flags correctly
See b39a46b please |
|
Ping - just a quick check if this PR is ok to go into the new staging branch |
|
Fine by me |
mathomp4
left a comment
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.
I'm still having weird NAS issues, but for now, trust in Dom.
|
as of yesterday I've got this building, I'm still working to get jedi bundle to build and have leftover questions but I can bring that up on Tuesday. Thanks for this @climbfuji |
Description
This PR updates the spack submodule to version 1.0.1 with a few extra commits (see JCSDA/spack#563). The two most important changes are the separation of the spack packages (builtin repo) into its own repository https://github.com/spack/spack-packages, and that compilers are now "nodes" (regular dependencies with a few extra attributes). Please refer to the updated spack documentation and release pages for more details, I cannot cover this here.
The separation of the repository is handled as follows: Our fork of the spack-packages repo https://github.com/jcsda/spack-packages is cloned as a submodule into
repos/builtin(and spack is modified to find it there). The spack-stack repo lives underrepos/spack_stackas part of the spack-stack GitHub repository. Thespack_stackpackages were migrated to the new API.The handling of compilers as nodes means that
compilers.yamlno longer exists; instead, compilers are configured under their new names inpackages.yaml. The GitHub CI runs on the self-hosted runner illustrate how to do this for a new site config.The spack-generated modules differ slightly from beforehand:
lmod, modules for packages that do not depend on a compiler are now inmodulefiles/Coretcl/ modules for packages are now inmodulefiles/none/noneandmodulefiles/mpi-name/mpi-version/none/noneThe compiler changes and the associated updates to the spack engine provided an opportunity to update and simplify the
spack stack setup-meta-modulesextension significantly. With this, the 7-digit hash for the mpi module names inlmodare removed, and there is no longer astack-pythonmodule. The spackpythonmodule is loaded as part of the module dependencies. We still havestack-compilerandstack-mpi.This PR updates only the Ubuntu self-hosted runner and a few selected site configs (see below, systems affected). I would like to merge this PR without waiting for all other site configs and container builds being updated to make this more manageable. We should create an issue to document that spack-stack
developwill be broken for the sites that are not yet updated.Similarly, only selected templates were updated, all others moved to
configs/templates_NOT_YET_CONVERTED_TO_SPACK_v1.In
configs/common, the following compiler packages.yaml are updated:clang,gcc,oneapi. I suggest removingaocc,apple-clang,intelif nobody else is willing to fix them in a follow-up PR.Site config updates: I encourage spack-stack developers to use the tier1 atlantis or tier2 bounty/blackpearl site configs as blueprints for updating your site configs. Specifically, note one important change for the
--compiler=argument forspack stack create env:if the site contains
configs/sites/tierX/sitename/packages_oneapi-2025.1.0.yaml. If the site containsconfigs/sites/tierX/sitename/packages_oneapi.yamlinstead (the versioned and non-versioned files are mutually exclusive), then the command isThis is to support multiple versions of the same compiler for a given site. (Side note: Because filter_compilers is no longer needed, it is removed.) Note that
spack stack create envwill not fail if the filepackages_compiler.yamlorpackages_compiler-version.yamldoesn't exist - it will print a big and fat warning, though.MISSING DOCUMENTATION UPDATES - REFER TO A FOLLOW UP PR BY SOMEONE ELSE
Dependencies
spack-stack-dev: https://github.com/JCSDA/spack-packages (this includes all changes to the old spack repo code in the spack spack-stack-dev branch while this PR was worked on)Once this PR is merged, we should make an effort to compare our spack-stack-dev branch of spack-packages with the corresponding commit/release of the authoritative repo and quickly send all our changes upstream one by one - we will need to share this work
Issues addressed
Closes #1714
Closes #1731
Closes #1689
Closes #1604
Closes #1274
Applications affected
All
Update and tested templates as part of this PR (all other templates moved to
configs/templates_NOT_YET_CONVERTED_TO_SPACK_v1/Systems affected
All
Updated and tested as part of this PR (all other site configs moved to
configs/sites__NOT_YET_CONVERTED_TO_SPACK_v1/{tier1,2}/:Testing
Checklist
All necessary updates to the documentation on readthedocs are included in this PRdoc/source/PreConfiguredSites.rstanddoc/source/MaintainersSection.rstAll necessary updates to the spack-stack wiki will be made when this PR is mergedDocumentation and wiki updates deferred to follow-up PRs