Skip to content

Commit 41565f3

Browse files
committed
add clarifications about concretization semantics
1 parent d53592f commit 41565f3

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

seps/sep-0002.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ See also: https://github.com/spack/spack/discussions/22749
2121
## Proposed Changes
2222

2323
* Modify variant declarations with a flag to indicate that the variant
24-
determines how the package is used rather than how it is installed
25-
* During concretization, this variant can be treated like any other
26-
variant.
24+
determines how the package is used rather than how it is installed.
25+
* During concretization, this variant is treated like any other
26+
variant (no changes to the concretization algorithm are required).
2727
* After concretization, the variant is stripped from the node and
2828
stored on the edge connecting the node to its parent.
2929

@@ -74,6 +74,10 @@ variant('regex', request=True)
7474

7575
This is not essential though: the dependent could universally
7676
recompute dependency information without any hints from dependents.
77+
For this reason, the Boost use case can be handled completely
78+
separately, since any variant modifications would only be used
79+
to speed up computations and are not required to achieve the
80+
semantics desired for the use case.
7781

7882
### Intel Parallel Studio
7983

@@ -100,3 +104,11 @@ declaration:
100104
```
101105
variant('threading', interface=True, provider='mkl')
102106
```
107+
108+
In other words, this has the same concretization semantics discussed
109+
for the Intel oneAPI MKL use case (i.e. that this is treated
110+
exactly the same as other variants during concretization), but
111+
adds controls on when the variant influences the hash of dependents:
112+
it only affects the dependent's hash when the dependent is actually
113+
using the package for the virtual named in the variant's `provider=`
114+
option.

0 commit comments

Comments
 (0)