add CombinatorialSpecSet class for taking cross-products of Specs.
- add CombinatorialSpecSet in spack.util.spec_set module. - class is iterable and encaspulated YAML parsing and validation. - Adjust YAML format to be more generic - YAML spec-set format now has a `matrix` section, which can contain multiple lists of specs, generated different ways. Including: - specs: a raw list of specs. - packages: a list of package names and versions - compilers: a list of compiler names and versions - All of the elements of `matrix` are dimensions for the build matrix; we take the cartesian product of these lists of specs to generate a build matrix. This means we can add things like [^mpich, ^openmpi] to get builds with different MPI versions. It also means we can multiply the build matrix out with lots of different parameters. - Add a schema format for spec-sets
This commit is contained in:

committed by
Peter Scheibel

parent
ad8036e5a2
commit
be4b95ee30
21
lib/spack/docs/example_files/spec_set.yaml
Normal file
21
lib/spack/docs/example_files/spec_set.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
spec-set:
|
||||
include: [ ape, atompaw, transset]
|
||||
exclude: [binutils,tk]
|
||||
packages:
|
||||
ape:
|
||||
versions: [2.2.1]
|
||||
atompaw:
|
||||
versions: [3.1.0.3, 4.0.0.13]
|
||||
binutils:
|
||||
versions: [2.20.1, 2.25, 2.23.2, 2.24, 2.27, 2.26]
|
||||
tk:
|
||||
versions: [8.6.5, 8.6.3]
|
||||
transset:
|
||||
versions: [1.0.1]
|
||||
compilers:
|
||||
gcc:
|
||||
versions: [4.9, 4.8, 4.7]
|
||||
clang:
|
||||
versions: [3.5, 3.6]
|
||||
|
||||
dashboard: ["https://spack.io/cdash/submit.php?project=spack"]
|
Reference in New Issue
Block a user