Commit Graph

1158 Commits

Author SHA1 Message Date
Greg Becker
e81ce18cad
cmd/solve: use interface from cmd/spec (#47182)
Currently, `spack solve` has different spec selection semantics than `spack spec`.
`spack solve` currently does not allow specifying a single spec when an environment is active.

This PR modifies `spack solve` to inherit the interface from `spack spec`, and to use
the same spec selection logic. This will allow for better use of `spack solve --show opt`
for debugging.

---------

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-28 19:28:03 -07:00
Adam J. Stewart
32ce278a51
ML CI: Linux aarch64 (#39666)
* ML CI: Linux aarch64

* Add config files

* No aarch64 tag

* Don't specify image

* Use amazonlinux image

Co-authored-by: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com>

* Update and require

* GCC is too old

* Fix some builds

* xgboost doesn't support old GCC + cuda

* Run on newer Ubuntu

* Remove mxnet

* Try aarch64 range

* Use main branch

* Conflict applies to all targets

* cuda only required when +cuda

* Use tagged version

* Comment out tf-estimator

* Add ROCm, use newer Ubuntu

* Remove ROCm

---------

Co-authored-by: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com>
2024-10-28 10:30:07 +01:00
Todd Gamblin
c8bebff7f5
Add -t short option for spack --backtrace (#47227)
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-26 09:16:31 +02:00
John W. Parent
7b27aed4c8
Normalize Spack Win entry points (#38648)
* Normalize Spack Win entrypoints

Currently Spack has multiple entrypoints on Windows that in addition to
differing from *nix implementations, differ from shell to shell on
Windows. This is a bit confusing for new users and in general
unnecessary.
This PR adds a normal setup script for the batch shell while preserving
the previous "click from file explorer for spack shell" behavior.
Additionally adds a shell title to both powershell and cmd letting users
know this is a Spack shell

* remove doskeys
2024-10-25 15:23:29 -04:00
Tamara Dahlgren
1b0631b69e
Env help: expand and refine subcommand help and descriptions (#47089)
This PR is in response to a question in the `environments` slack channel (https://spackpm.slack.com/archives/CMHK7MF51/p1729200068557219) about inadequate CLI help/documentation for one specific subcommand.

This PR uses the approach I took for the descriptions and help for `spack test` subcommands.  Namely, I use the first line of the relevant docstring as the description, which is shown per subcommand in `spack env -h`, and the entire docstring as the help.  I then added, where it seemed appropriate, help.  I also tweaked argument docstrings to tighten them up, make consistent with similar arguments elsewhere in the command, and elaborate when it seemed important.  (The only subcommand I didn't touch is `loads`.)

For example, before:
```
$ spack env update -h
usage: spack env update [-hy] env

positional arguments:
  env               name or directory of the environment to activate

optional arguments:
  -h, --help        show this help message and exit
  -y, --yes-to-all  assume "yes" is the answer to every confirmation request
```

After the changes in this PR:
```
$ spack env update -h
usage: spack env update [-hy] env

update the environment manifest to the latest schema format

    update the environment to the latest schema format, which may not be
    readable by older versions of spack

    a backup copy of the manifest is retained in case there is a need to revert
    this operation
    

positional arguments:
  env               name or directory of the environment

optional arguments:
  -h, --help        show this help message and exit
  -y, --yes-to-all  assume "yes" is the answer to every confirmation request
```

---------

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-24 13:55:00 -07:00
Harmen Stoppels
d8c8074762
bootstrap: add clingo 3.13 binaries and more (#47126) 2024-10-24 08:55:14 +02:00
Scott Wittenburg
1472dcace4
ci: Remove deprecated logic from the ci module (#47062)
ci: Remove deprecated logic from the ci module

Remove the following from the ci module, schema, and tests:

- deprecated ci stack and handling of old ci config
- deprecated mirror handling logic
- support for artifacts buildcache
- support for temporary storage url
2024-10-23 12:50:55 -06:00
kwryankrattiger
fd1c95a432
ParaView: Various fixes to better support no mpi and fides builds (#47114)
* ParaView: Explicitly set the ENABLE_MPI on/off
* Disallow MPI in the DAG when ~mpi
* @5.13 uses 'remove_children', use pugixml@1.11:, See #47098
* cloud_pipelines/stacks/data-vis-sdk: paraview +raytracing: add +adios2 +fides

Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-10-23 11:46:09 -06:00
Harmen Stoppels
ef9bb7ebe5
spack arch: add --family --generic flags (#47078)
This allows users to do:

```
spack install ... target=$(spack arch --target --family)
spack install ... arch=$(spack arch --family)

spack install ... target=$(spack arch --target --generic)
spack install ... arch=$(spack arch --generic)
```

Deprecate `--generic-target` in favor of `--generic --target`
2024-10-22 14:13:11 +00:00
Tom Scogland
a07d42d35b
Devtools darwin (#46910)
* stacks: add a stack for devtools on darwin

After getting this whole mess building on darwin, let's keep it that
way, and maybe make it so we have some non-ML darwin binaries in spack
as well.

* reuse: false for devtools

* dtc: fix darwin dylib name and id

On mac the convention is `lib<name>.<num>.dylib`, while the makefile
creates a num suffixed one by default. The id in the file is also a
local name rather than rewritten to the full path, this fixes both
problems.

* node-js: make whereis more deterministic

* relocation(darwin): catch Mach-O load failure

The MachO library can throw an exception rather than return no headers,
this happened in an elf file in the test data of go-bootstrap.  Trying
catching the exception and moving on for now.  May also need to look
into why we're trying to rewrite an elf file.

* qemu: add darwin flags to clear out warnings

There's a build failure for qemu in CI, but it's invisible because of
the immense mass of warning output.  Explicitly specify the target macos
version and remove the extraneous unknown-warning-option flag.

* dtc: libyaml is also a link dependency

libyaml is required at runtime to run the dtc binary, lack of it caused
the ci for qemu to fail when the library wasn't found.
2024-10-21 17:32:14 +00:00
Stephen Sachs
9854c9e5f2
Build wrf%oneapi in aws-pcluster-x86_64_v4 stack (#47075) 2024-10-21 02:56:36 -06:00
eugeneswalker
df6427d259
e4s ci stacks: add nwchem (#47055) 2024-10-18 14:30:46 -07:00
eugeneswalker
7ecdc175ff
e4s ci stacks: add fftx cpu, cuda, and rocm builds (#47004)
* e4s ci stacks: add fftx cpu, cuda, and rocm builds

* disable fftx+rocm due to spack github issue #47034

* e4s oneapi: fftx has spack build error https://github.com/spack/spack/issues/47048
2024-10-17 10:11:32 -07:00
eugeneswalker
e4c233710c
e4s external rocm ci: upgrade to v6.2.1 (#46871)
* e4s external rocm ci: upgrade to v6.2.1

* use ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.2.1:2024.10.08

* magma +rocm: add entry for v6.2.1
2024-10-16 19:42:19 -06:00
eugeneswalker
fb53d31d09
ci: use ghcr.io images instead of dockerhub hosted (#46830) 2024-10-16 12:11:26 -04:00
Caetano Melone
1259992159
Reduce noop job resource requests (#46920)
`no-spec-to-rebuild` jobs use far less resources than they request. For example, [this](https://gitlab.spack.io/spack/spack/-/jobs/12944487) job [used](https://prometheus.spack.io/api/v1/query_range?query=container_memory_working_set_bytes{pod=%22runner-dcsgp53u-project-2-concurrent-3-0ubclrr1%22}&start=1728655743&end=1728656543&step=1s) around 3MB.

While this won't lead to any crazy cost savings, k8s requests effectively block other jobs from using the resources, so reducing this to a reasonable number is important.
2024-10-15 12:49:45 -05:00
Tobias Ribizel
834ed2f117
env depfile: generate Makefile with absolute script path (#46966)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2024-10-15 13:52:31 +00:00
kwryankrattiger
c8f61c8662
Don't require OIDC initialization for noop (#46921)
ref. https://github.com/spack/spack-infrastructure/pull/957
2024-10-14 23:39:55 -05:00
Stephen Sachs
e9831985e4
Use pcluster-alinux2 container image with pre-installed compilers (#44150) 2024-10-10 10:01:59 +02:00
Todd Gamblin
d763d6f738
gc: restrict to specific specs (#46790)
`spack gc` has so far been a global or environment-specific thing.
This adds the ability to restrict garbage collection to specific specs,
e.g. if you *just* want to get rid of all your unused python installations,
you could write:

```console
spack gc python
```

- [x] add `constraint` arg to `spack gc`
- [x] add a simple test

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-04 17:43:10 -07:00
kwryankrattiger
482e2fbde8
Noop jobs should do less work (#46732) 2024-10-03 11:59:27 +00:00
Ray Huang
470774687d
fix 'command -v' not in csh (#45845) 2024-10-02 19:15:35 +02:00
Adrien Bernede
d7f5dbaf89
Update and standardize implementation of RADIUSS packages (#45648)
* Add latest releases of Camp, RAJA, Umpire, CHAI and CARE
* Address review comments + blt requirement in Umpire
* CARE @develop & @main: Submodules -> False
* Changes in Umpire
* Changes in RAJA
* Changes in CHAI
* Changes in RAJA: prefer 'spec.satisfies' to 'in spec'
   This is due to a non-equivalence in Spack with providers like mpi.
   See e.g. https://github.com/spack/spack/pull/46126
* Changes in Umpire: prefer 'spec.satisfies' to 'in spec'
   This is due to a non-equivalence in Spack with providers like mpi.
   See e.g. https://github.com/spack/spack/pull/46126
* Changes in CARE:
   Still need to update to CachedCMakePackage based on RADIUSS Spack Configs version
* Missing change in RAJA + changes in fmt
* Fix synta
* Changes in Camp
* Fix style
* CHAI: when ~raja, turn off RAJA in build system
* Fix: Ascent@0.9.3 does not support RAJA@2024.07.0
* Enforce same version constraint on Umpire as for RAJA
* Enforce preferred version of vtk-m in ascent 0.9.3
* Migrate CARE package to CachedCMakePackage
* Fix style in CARE package
* CARE: Apply changes for uniform implementation accross RADIUSS projects
* Caliper: move to CachedCMakePackage, from RADIUSS Spack Configs
* Adapt RAJA Perf to spack CI
* Activate CHAI, CARE and RAJAPerf in Spack CI
* Fixes and diffs with RADIUSS Spack Configs
* Caliper: fix
* Caliper : fix + RAJAPerf : style
* RAJAPerf: fixes
* Update maintainers
* raja-perf: fix license header
* raja-perf: Fix variant naming openmp_target -> omptarget
* raja-perf: style and blt dependency versions
* CARE: benchmark and examples off by default (like tests)
* CARE: fix missing variable
* Update var/spack/repos/builtin/packages/raja-perf/package.py
* CARE: fix branch name
* Revert changes in MFEM to pass CI
* Fix CXX17 condition in RAJA + add sycl option in RAJAPerf

---------

Co-authored-by: Rich Hornung <hornung1@llnl.gov>
2024-09-30 15:16:24 -07:00
Alec Scott
7360afb668
developer-tools-ci: remove version constraint on Emacs (#46590) 2024-09-26 15:57:28 -07:00
Adam J. Stewart
3649a195d3
ML CI: Ubuntu 22 -> 24 (#45644) 2024-09-24 19:13:28 +02:00
Harmen Stoppels
b1db22d406
run-unit-tests: no xdist if coverage (#46480)
xdist only slows down unit tests under coverage
2024-09-19 14:01:33 +02:00
Harmen Stoppels
1768b923f1
cloud_pipelines/.gitlab-ci.yml: run spack arch (#46437) 2024-09-17 17:07:26 +02:00
kwryankrattiger
ade9c8da0e
Revert "allow failure for cray-sles (#46411)" (#46413)
This reverts commit 576251f0da.
2024-09-16 19:42:24 +02:00
Harmen Stoppels
576251f0da
allow failure for cray-sles (#46411) 2024-09-16 17:17:36 +02:00
Kyle Knoepfel
4fe417b620
Optionally output package namespace (#46359) 2024-09-13 08:08:58 -05:00
eugeneswalker
2277052a6b
e4s rocm external ci stack: upgrade to rocm v6.2.0 (#46328)
* e4s rocm external ci stack: upgrade to rocm v6.2.0

* magma: add rocm 6.2.0
2024-09-12 17:51:19 -07:00
Todd Gamblin
b220938d42
bugfix: elfutils has no bzip2 or xz variants (#46294)
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-09-10 06:20:39 +00:00
AcriusWinter
dc853b2cf4
gptune: new test API (#45383)
* gptune: new test API
* gptune: cleanup; finish API changes; separate unrelated test parts
* gptune: standalone test cleanup with timeout constraints
* gptune: ensure stand-alone test bash failures terminate; enable in CI
* gptune: add directory to terminate_bash_failures
* gptune/stand-alone tests: use satisifes for checking variants

---------

Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
2024-09-09 15:21:55 -07:00
eugeneswalker
7086d6f1ac
use updated container with cmake@3.30.2 (#46262) 2024-09-06 18:48:45 -06:00
John W. Parent
4042afaa99
Bootstrap GnuPG and file on Windows (#41810)
Spack can now bootstrap two new dependencies on Windows: GnuPG, and file. 

These dependencies are modeled as a separate package, and they install a cross-compiled binary.
Details on how they binaries are built are in https://github.com/spack/windows-bootstrap-resources
2024-09-06 14:26:46 +02:00
Harmen Stoppels
7fdf1029b7
fish: use shlex.quote instead of custom quote (#46251) 2024-09-06 11:38:14 +00:00
Harmen Stoppels
2107a88514
spack deprecate: deprecate --link-type flag (#46202) 2024-09-05 11:06:46 +02:00
eugeneswalker
7327e731b4
e4s ci stacks: add geopm-runtime (#45881) 2024-09-02 08:24:10 +02:00
Harmen Stoppels
199cbce5ef
windows-vis: vtk~mpi (#46133) 2024-08-30 09:38:41 +02:00
Harmen Stoppels
bd71ce5856
cray: allow failure due to broken blas (#46111)
1. libsci_cray.so is broken, as it fails to list `libdl.so` in
   DT_NEEDED.
2. cray compilers fail to build a different blas
2024-08-30 07:49:10 +02:00
Nick Hagerty
680d1f2e58
lammps: improve FFT selection and add fft_kokkos variant (#45969) 2024-08-27 07:15:12 +02:00
Massimiliano Culpo
836be2364c
Make spack compiler find use external find (#45784)
so that there is no duplicate detection logic for compilers
2024-08-22 12:13:08 +02:00
Alec Scott
428b4e340a
Remove deprecated --safe-only in spack version cmd (#45765) 2024-08-19 08:28:19 +02:00
Axel Huebl
c1852e3706
WarpX: Python on pyAMReX (#45251)
* WarpX: Python on pyAMReX

Long overdue update for WarpX: in 2024, we updated our Python
bindings to rely on the new pyAMReX package. This deprecates the old
`py-warpx` package and adds a new dependency and variant to WarpX.

Also deprecates old versions that we will not continue to support.

* Update Cloud/E4S Pipelines for WarpX

`py-warpx` is replaced by `warpx +python`
oneAPI does not support IPO/LTO: diable for `py-amrex` even though
pybind11 strongly encourages it.
2024-08-18 21:14:04 -07:00
eugeneswalker
61b0f4f84d
e4s ci: add wrf (#45719)
* e4s ci: add wrf

* e4s ci: also add wrf companion/adjacent package wps

* e4s oneapi: comment out wps: %oneapi not supported?
2024-08-16 09:57:46 -07:00
Massimiliano Culpo
fe3bfa482e
Run unit test in parallel again in CI (#45793)
The --trace-config option was failing for linux unit-tests,
so we were running serial.
2024-08-16 16:11:08 +00:00
eugeneswalker
f1114858f5
e4s ci: add chapel (#45659)
* e4s ci: add chapel
* e4s ci: fix gpu target typo

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>

---------

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2024-08-14 09:54:07 -07:00
Harmen Stoppels
29b50527a6
spack buildcache push: parallel in general (#45682)
Make spack buildcache push for the non-oci case also parallel, and --update-index more efficieny
2024-08-14 17:19:45 +02:00
Harmen Stoppels
a66586d749
spack buildcache push: best effort (#45631)
"spack buildcache push" for partially installed environments pushes all it 
can by default, and only dumps errors towards the end.

If --fail-fast is provided, error out before pushing anything if any
of the packages is uninstalled

oci build caches using parallel push now use futures to ensure pushing
goes in best-effort style.
2024-08-13 08:12:48 +02:00
Harmen Stoppels
063b987ceb
remove config:concretizer:clingo (#45684) 2024-08-12 18:23:14 -07:00
Massimiliano Culpo
2079b888c8
Remove the old concretizer (#45215)
The old concretizer is still used to bootstrap clingo from source. If we switch to a DAG model
where compilers are treated as nodes, we need to either:

1. fix the old concretizer to support this (which is a lot of work and possibly research), or
2. bootstrap `clingo` without the old concretizer.

This PR takes the second approach and gets rid of the old concretizer code. To bootstrap
`clingo`, we store some concrete spec prototypes as JSON, select one according to the
coarse-grained system architecture, and tweak them according to the current host.

The old concretizer and related dead code are removed.  In particular, this removes
`Spec.normalize()` and related methods, which were used in many unit-tests to set
up the test context. The tests have been updated not to use `normalize()`.

- [x] Bootstrap clingo concretization based on a JSON file
- [x] Bootstrap clingo *before* patchelf
- [x] Remove any use of the old concretizer, including:
      * Remove only_clingo and only_original fixtures
      * Remove _old_concretize and _new_concretize
      * Remove _concretize_together_old
      * Remove _concretize_together_new
      * Remove any use of `SPACK_TEST_SOLVER`
      * Simplify CI jobs
- [x] ensure bootstrapping `clingo` works on on Darwin and Windows
- [x] Raise an intelligible error when a compiler is missing
- [x] Ensure bootstrapping works on FreeBSD
- [x] remove normalize and related methods

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-08-10 16:12:27 -07:00
Dominic Hofer
da33c12ad4
Remove execution permission from setup-env.sh (#45641)
`setup-env.sh` is meant to be sourced, not executed directly.
By revoking execution permissions, users who accidentally execute
the script will receive an error instead of seeing no effect.

* Remove execution permission from `setup-env.sh` and friends
* Don't make output file executable in `spack commands --update-completion`

---------

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-08-09 13:27:07 -07:00
eugeneswalker
e8c8e7b8a8
e4s oneapi ci: try enabling some disabled specs (#45355) 2024-08-01 21:25:30 -07:00
afzpatel
e529a454eb
CI: add ML ROCm stack (#45302)
* add ML ROCm stack

* add suggested changes

* remove py-torch and py-tensorflow-estimator

* add TF_ROCM_AMDGPU_TARGETS env variable and remove packages from pipeline

* remove py-jax and py-xgboost
2024-07-24 16:16:15 +02:00
eugeneswalker
0fb44529bb
e4s rocm external ci stack: upgrade to v6.1.2 (#45356)
* e4s rocm external ci stack: upgrade to v6.1.2

* magma: add rocm-core 6.1.2
2024-07-23 09:52:52 -07:00
eugeneswalker
712dcf6b8d
e4s ci: enable some disabled specs (#44934)
* e4s ci: enable some disabled specs

* comment out cp2k +cuda due to unsupported cuda_arch

* comment out dealii+cuda due to concretize error

* work through concretize errors

* e4s: comment out failing builds

* e4s stack: disabled non-building specs

* comment out failing specs

* comment out failing specs

* cleanup comments
2024-07-18 20:58:10 +00:00
Harmen Stoppels
7b9f8abce5
Add depends_on([c,cxx,fortran]) (#45217)
Add language dependencies `c`, `cxx`, and `fortran`.

These `depends_on` statements are auto-generated based on file extensions found
in source tarballs/zipfiles.

The `# generated` comment can be removed by package maintainers after
validating correctness.
2024-07-17 16:07:43 +02:00
John W. Parent
e2844e2fef
bootstrap ci: add exit code validation for windows (#45221) 2024-07-12 23:07:45 -06:00
Tamara Dahlgren
737b70cbbf
Buildcache: remove deprecated --allow-root and preview subcommand (#45204) 2024-07-11 18:19:04 -07:00
Peter Scheibel
56a1663cd9
spack find -c: search all concretized-but-not-installed specs (#44713)
Originally if you had `x -> y -> z`, and an env with `x` in its speclist that is concretized but not installed, then `spack find -c y` would not show anything. This was intended: `spack find` has up-until-now only ever listed out installed specs (and `-c` was for adding a preamble section about roots).

This changes `spack find` so:

* `-c` makes it search through all concretized specs in the env (in a sense it is anticipated that a concretized environment would serve as a "speculative" DB and users may want to query it like they query the DB outside of envs)
* Adds a `-i/--install-status` option, equivalent to `-I` from `spack spec`
* Shows install status for either `-c` or `-i`
* As a side effect to prior point, `spack find -i` can now distinguish different installation states (upstream/external)

Examples:

```
$ spack find -r
==> In environment findtest
==> 1 root specs
 -  raja

==> 6 installed packages (not shown)
==> 12 concretized packages to be installed (not shown)
```

```
$ spack find
==> In environment findtest
==> 1 root specs
 -  raja

-- darwin-ventura-m1 / apple-clang@14.0.3 -----------------------
berkeley-db@18.1.40  bzip2@1.0.8  diffutils@3.10  gmake@4.4.1  gnuconfig@2022-09-17  libiconv@1.17
==> 6 installed packages
==> 12 concretized packages to be installed (show with `spack find -c`)
```

```
$ spack find -c
==> In environment findtest
==> 1 root specs
 -  raja

-- darwin-ventura-m1 / apple-clang@14.0.3 -----------------------
[+]  berkeley-db@18.1.40  [+]  bzip2@1.0.8      -   cmake@3.29.4  [+]  diffutils@3.10  [+]  gmake@4.4.1           [+]  libiconv@1.17   -   nghttp2@1.62.0   -   pkgconf@2.2.0    -   readline@8.2
 -   blt@0.6.2             -   camp@2024.02.1   -   curl@8.7.1     -   gdbm@1.23       [+]  gnuconfig@2022-09-17   -   ncurses@6.5     -   perl@5.38.2      -   raja@2024.02.2   -   zlib-ng@2.1.6
==> 6 installed packages
==> 12 concretized packages to be installed


```
$ spack -E find
...
==> 82 installed packages
```
2024-07-09 11:53:20 -07:00
Harmen Stoppels
8a430f89b3
spack -C <env>: use env config w/o activation (#45046)
Precedence:

1. Named environment
2. Anonymous environment
3. Generic directory
2024-07-06 22:02:25 -07:00
Wouter Deconinck
04044a9744
containers: rm centos7 since EOL (#45049) 2024-07-04 22:22:23 +02:00
Robert Cohn
b4748de5a9
[openfoam]: use latest cgal (#45003)
* [openfoam]: use latest cgal
* add version checks for CGAL
2024-07-03 14:04:38 -07:00
Harmen Stoppels
d2fc0d6a35
Revert "e4s ci: reduce size due to 5mb gitlab artifact limit (#44986)" (#45001)
This reverts commit 18de6a480b.
2024-07-02 21:05:10 +00:00
Massimiliano Culpo
6b85f6b405
ci: deprecate the --dependencies and --optimize option (#45005) 2024-07-02 22:06:52 +02:00
Harmen Stoppels
0ca1ee8b91
Pipelines: update configuration for aws-isc (#44999)
1.18 is not a string in YAML

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-07-02 12:39:35 +02:00
eugeneswalker
18de6a480b
e4s ci: reduce size due to 5mb gitlab artifact limit (#44986) 2024-07-01 20:28:56 +02:00
Vicente Bolea
7c65655c7e
adios2: add patch to support rocm6 (#44941)
* adios2: add patch to support rocm6

* e4s rocm ci: re-enable adios2 +rocm

---------

Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2024-07-01 09:20:48 -07:00
Massimiliano Culpo
1b5b74390f
neoverse-v1: restore py-cinemasci (#44976)
Use a different tactic for determining conflicts.

Give more priority to setting False very old versions.
2024-07-01 09:53:24 +02:00
Massimiliano Culpo
c9a24bc6c5
neoverse-v1: comment out py-cinemasci (#44972) 2024-06-30 10:23:35 +02:00
Wouter Deconinck
f916b50491
containers: centos:stream -> centos:stream9 (#44876) 2024-06-27 10:38:56 +02:00
eugeneswalker
35fc371222
update e4s stacks (#44813)
* update e4s stacks

* adios2 +rocm: disable kokkos due to spack issue #44832

* comment out mgard+cuda due to spack issue #44833

* comment out cabana, legion, arborx due to kokkos spack issue #44832

* comment out slepc, petsc due to petsc spack issue #44600

* comment out adios2+rocm due to kokkos rocm spack issue #44832

* comment out kokkos due to spack issue #44832
2024-06-26 15:24:34 -07:00
eugeneswalker
8d1aaef8b8
e4s ci: paraview: require +examples (#44847) 2024-06-25 15:12:56 +00:00
eugeneswalker
8479122e71
ecp rocm ci: add ecp-dav back + use updated container image w rocm-llvm-dev installed (#44827) 2024-06-24 16:48:40 -06:00
eugeneswalker
ad3d9c83fe
e4s: add glvis (#44812) 2024-06-24 05:57:54 -07:00
Andrey Perestoronin
55fe73586e
add packages from intel-oneapi-2024.2.0 release (#44789) 2024-06-21 16:17:54 -06:00
Stephen Sachs
113e231abe
Remove deprecated intel-* packages (#44700)
Packages will be removed with https://github.com/spack/spack/pull/44689. This PR
makes sure that the `aws-pcluster-x86_64_v4` stack still works as expected.
2024-06-20 07:07:27 -04:00
eugeneswalker
a389eb5a08
e4s external rocm ci: bump rocm stack to v6.1.1 (#44449)
* e4s external rocm ci: bump rocm stack to v6.1.1

* comment out exago+rocm due to issue with raja@0.14.0 see spack issue #44593

* comment out adios2+rocm due to spack issue #44594

* comment out petsc+rocm due to spack issue #44600

* comment out sundials+rocm due to spack issue #44601

* comment out slepc+rocm due to petsc spack issue #44600

* comment out tau+rocm due to spack issue #44659

* comment out ecp-data-vis-sdk due to spack issue #44745

* packages: register rocm-core as external

* re-enable tau due to issue #44659 having been resolved

* use latest ci image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.1:2024.06.17

* comment out paraview due to spack issue #44745

* comment out ecp-data-vis-sdk +vtkm due to issue https://gitlab.spack.io/spack/spack/-/jobs/11632511
2024-06-18 11:43:03 -07:00
Massimiliano Culpo
5e8eff24d2
Build developer-tools pipeline only on manylinux (#43811) 2024-06-14 10:13:06 +02:00
kwryankrattiger
b0a2ea3970
Generate jobs should use x86_64_v3 runners only (#44582) 2024-06-07 13:20:02 +02:00
Harmen Stoppels
3ffe02a2fe
spack edit: allow edit multiple files at once (#44416) 2024-06-05 14:19:11 +02:00
Scott Wittenburg
0c3da1b498
gitlab ci: Remove protected publish job (#44304) 2024-06-04 11:54:05 -05:00
eugeneswalker
5ff8908ff3
e4s hopper ci: minimize root specs (#44436) 2024-05-29 10:09:04 -07:00
Massimiliano Culpo
8b7abace8b
Enforce consistency of gl providers (#44307)
* glew: rework dependency on gl

This simplifies the package and ensures a single gl implementation is
pulled in. Before we were adding direct dependencies, and those are
not unified through the virtual.

* mesa-demos: rework dependency on gl

This simplifies the package and ensures a single gl implementation is
pulled in. Before we were adding direct dependencies, and those are
not unified through the virtual.

* mesa-glu: rework dependency on gl

This simplifies the package and ensures a single gl implementation is
pulled in. Before we were adding direct dependencies, and those are
not unified through the virtual.

* paraview: fix dependency on glew

* mesa: group dependency on when("+glx")

* Add missing dependency on libxml2

* paraview: remove the "osmesa" and "egl" variant

Instead, enforce consistency using the "gl" virtual that allows
only one provider.

* visit: remove osmesa variant

* Disable paraview in the aws-isc stacks

* data-vis-sdk: rework constrains to enforce front-ends

* e4s-power: remove redundant paraview

* Pipelines: update osmesa variants

* trilinos-catalyst-ioss-adapter: make gl a run dependency
2024-05-23 20:17:51 +00:00
Massimiliano Culpo
9c88a48a73
Remove mesa18 and libosmesa (#44264)
* Remove mesa18 and libosmesa

mesa18 was introduced in #19528 as a way to maintain the old
autotools build of mesa separate from the new meson build.

We could add a second build system to mesa, but since mesa18 has
been deprecated for a long time, we'll just remove it.

libosmesa was used to multiplex the gl provider between mesa18
and mesa, and is thus unecessary. Remove it to reduce complexity
in the graphical stack.

* Remove references to mesa18 and libosmesa

* vtk: rework dependency on gl and osmesa

* memsurfer: rework dependency on vtk

* visit: minimal fix to avoid having both osmesa and glx
2024-05-21 10:18:14 -05:00
Robert Underwood
b9556c7c44
Additional packages for devtools-manylinux (#44273)
Co-authored-by: Robert Underwood <runderwood@anl.gov>
2024-05-21 13:37:04 +02:00
Stephen Sachs
297a3a1bc9
Add mpas-model and mpich to pcluster neoverse stack (#44151)
Should build now since https://github.com/spack/spack/pull/43547 has been merged.
2024-05-17 22:00:17 +02:00
John W. Parent
81fe460194
Gitlab CI: Windows Configs (#43967)
Add support for Gitlab CI on Windows

This PR adds the config changes required to configure and execute
Gitlab pipelines running Windows builds on Windows runners using
the existing Gitlab CI infrastructure (and newly added Windows 
infrastructure).

* Adds support for generating child pipelines dispatched to Windows runners
* Refactors the relevant pre-scripts, scripts, and post scripts to be compatible with Windows
* Adds Windows config section describing Windows jobs
* Adds VTK as Windows build stack (to be expanded later)
* Modifies proj to build on Windows
* Refactors Windows rpath symlinking to avoid system libs and externals

---------

Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
Co-authored-by: Mike VanDenburgh <michael.vandenburgh@kitware.com>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2024-05-16 17:00:02 -06:00
Adam J. Stewart
8e9adefcd5
ML CI: update image (#43751)
* ML CI: update image

* Use main branch

* Use tagged version
2024-05-13 21:43:52 +02:00
Stephen Sachs
4a98d4db93
Add applications to aws-pcluster-* stacks (#43901)
* Add openfoam to aws-pcluster-neoverse_v1 stack

* Add more apps to aws-pcluster-x86_64_v4 stack

* Remove WRF while hdf5 cannot build in buildcache at the moment

* Update comment

* Add more apps for aws-pcluster-neoverse_v1 stack

* Remove apps that currently do not build

* Disable those packages that won't build

* Modify syntax such that correct cflags are used

* Changing syntax again to what works with other packages

* Fix overriding packages.yaml entry for gettext

* Use new `prefer` and `require:when` clauses to clarify intent

* Use newer spack version to install intel compiler

This removes the need for patches and makes sure the `prefer` directives in
`package.yaml` are understood.

* `prefer` not strong enough, need to set compilers

* Revert "Use newer spack version to install intel compiler"

This reverts commit ecb25a192c.

Cannot update the spack version to install intel compiler as this changes the
compiler hash but not the version. This leads to incompatible compiler paths. If
we update this spack version in the future make sure the compiler version also updates.

Tested-by: Stephen Sachs <stesachs@amazon.com>

* Remove `prefer` clause as it is not strong enough for our needs

This way we can safely go back to installing the intel compiler with an older
spack version.

* Prefer gcc or oneapi to build gettext

* Pin gettext version compatible with system glibc-headers

* relax gettext version requirement to enable later versions

* oneapi cannot build older gettext version
2024-05-12 10:48:02 -07:00
Harmen Stoppels
65d1ae083c
gitlab ci: tutorial: add julia and vim (#44073) 2024-05-08 14:18:12 +02:00
Harmen Stoppels
26759249ca
gitlab: dont build paraview for neoverse v2 (#44060) 2024-05-07 18:59:12 +02:00
Richarda Butler
be71f9fdc4
Include concrete environments with include_concrete (#33768)
Add the ability to include any number of (potentially nested) concrete environments, e.g.:

```yaml
   spack:
     specs: []
     concretizer:
         unify: true
     include_concrete:
     - /path/to/environment1
     - /path/to/environment2
```

or, from the CLI:

```console
   $ spack env create myenv
   $ spack -e myenv add python
   $ spack -e myenv concretize
   $ spack env create --include-concrete myenv included_env
```

The contents of included concrete environments' spack.lock files are
included in the environment's lock file at creation time. Any changes
to included concrete environments are only reflected after the environment
is re-concretized from the re-concretized included environments.

- [x] Concretize included envs
- [x] Save concrete specs in memory by hash
- [x] Add included envs to combined env's lock file
- [x] Add test
- [x] Update documentation

    Co-authored-by: Kayla Butler <<butler59@llnl.gov>
    Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.co
m>
    Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
    Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-05-07 09:32:40 -07:00
Harmen Stoppels
a16ee3348b
Do not cache indices in Gitlab (#44029) 2024-05-06 15:54:21 +02:00
Scott Wittenburg
aae7a22d39
gitlab: release branch pipelines rebuild what changed (#43990) 2024-05-04 10:11:48 +02:00
Harmen Stoppels
d2ed217796
concretizer args: --fresh-roots == --reuse-deps (#43988)
Since reuse is the default now, `--reuse-deps` can be confusing, as it
technically does not imply roots are fresh.

So add `--fresh-roots`, which is also easier to discover when running
`spack concretize --fre<tab>`
2024-05-03 12:12:36 -07:00
eugeneswalker
1d59637051
e4s ci: add py-amrex (#43904) 2024-05-02 08:57:26 -06:00
Harmen Stoppels
9b62a9c238
gitlab ci: cache user cache (#43952) 2024-05-02 12:06:30 +02:00
Wouter Deconinck
067155cff5
containers: add ubuntu 24.04 (#43881)
* containers: add ubuntu 24.04

* containers: use python3-boto3 pkg instead of pip install
2024-05-01 13:37:13 +02:00
Massimiliano Culpo
877e09dcc1
Delete leftover file (#43869)
This file is not needed anymore, was introduced in #19688
2024-04-29 22:45:41 +02:00