-
Notifications
You must be signed in to change notification settings - Fork 55
Description
Summary
Update the spack-stack “New Site Configs” documentation to include a clear, Ubuntu-focused example for using Intel LLVM compilers (icx/ifx/icpx) with a local site configuration, including relevant guidance for Ubuntu under WSL2.
This request does not ask for first-class platform support or new spack logic. It asks for a documented example and explicit notes because the current docs focus on GCC and reference GitHub Actions for other compilers, but do not yet provide an accessible worked example for Ubuntu + Intel LLVM.
Motivation
The current “New Site Configs” page:
- describes how to generate a site config from
linux.defaultormacos.default, primarily with GCC examples, and - recommends looking at GitHub Action workflows for non-GCC compilers.
While that framework is correct, in practice users following those general instructions on Ubuntu (especially under WSL2) frequently run into predictable issues when using Intel LLVM compilers, including:
- Intel runtime library discovery and RPATH handling
- reliance on environment initialization (
setvars.sh) - NetCDF family and other external component detection mismatches
Providing a documented, concrete example for this specific setup would close this practical gap.
Proposed Documentation Enhancements
-
Add an Ubuntu + Intel LLVM site config example
- Comprehensive
site/packages.yamlandsite/compilers.yamlsnippets - Source paths and runtime considerations for Intel oneAPI
- Intel LLVM versions known to work on Ubuntu
- Comprehensive
-
Integrate this example into the “New Site Configs” page
- Under the Linux section, with explicit reference to Ubuntu
- Show how to start from
linux.defaultand evolve to an Intel LLVM config
-
Add WSL2 Ubuntu notes
- Recommended filesystem placement (ext4 vs
/mnt/c) - Environment consistency (interactive vs build shells)
- Scoped limitations or caveats (e.g., MPI variants under WSL2)
- Recommended filesystem placement (ext4 vs
-
Link to CI examples and any Intel LLVM test workflows
- Connect the example to the existing GitHub Actions use of Intel LLVM
Why This Matters
- Ubuntu is the most common WSL2 distro used by contributors
- Intel LLVM is the modern Intel compiler strategy used in JCSDA stacks
- The current documentation assumes competence with compilers other than GCC, but practical examples significantly reduce trial-and-error ...
- This update fits squarely within the site config model the docs describe: no new code paths, just better examples and clarity for a common use case.
Thanks for considering this enhancement: it would make the “new site configs” workflow more approachable for a broad group of contributors. It could also be extended (or genericized) to support LLVM Flang/Clang. Ideally, I'd like to be able to have a GCC stack, Intel LLVM stack, and LLVM Flang/Clang stack in the same Ubuntu instance, so I could test on multiple compilers + configurations.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status