summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2022-04-26 02:19:51 +0200
committerGitHub <noreply@github.com>2022-04-25 17:19:51 -0700
commitb9d6a5103dd2f96c1a3e3e729435bee4cd30eac1 (patch)
tree0e45fbe3a327a7ff468254fc202b3ad4bff6ff46 /etc
parent834f8e04ca362195f9a971d1f90b43ce52f78cc4 (diff)
downloadspack-b9d6a5103dd2f96c1a3e3e729435bee4cd30eac1.tar.gz
spack-b9d6a5103dd2f96c1a3e3e729435bee4cd30eac1.tar.bz2
spack-b9d6a5103dd2f96c1a3e3e729435bee4cd30eac1.tar.xz
spack-b9d6a5103dd2f96c1a3e3e729435bee4cd30eac1.zip
ASP-based solver: allow configuring target selection (#29835)
* ASP-based solver: allow configuring target selection This commit adds a new "concretizer:targets" configuration section, and two options under it. - "concretizer:targets:granularity" allows switching from considering only generic targets to consider all possible microarchitectures. - "concretizer:targets:host_compatible" instead controls whether we can concretize for microarchitectures that are incompatible with the current host. * Add documentation * Add unit-tests
Diffstat (limited to 'etc')
-rw-r--r--etc/spack/defaults/concretizer.yaml13
1 files changed, 13 insertions, 0 deletions
diff --git a/etc/spack/defaults/concretizer.yaml b/etc/spack/defaults/concretizer.yaml
index 52200062c8..2aadccd6cd 100644
--- a/etc/spack/defaults/concretizer.yaml
+++ b/etc/spack/defaults/concretizer.yaml
@@ -15,3 +15,16 @@ concretizer:
# as possible, rather than building. If `false`, we'll always give you a fresh
# concretization.
reuse: false
+ # Options that tune which targets are considered for concretization. The
+ # concretization process is very sensitive to the number targets, and the time
+ # needed to reach a solution increases noticeably with the number of targets
+ # considered.
+ targets:
+ # Determine whether we want to target specific or generic microarchitectures.
+ # An example of the first kind might be for instance "skylake" or "bulldozer",
+ # while generic microarchitectures are for instance "aarch64" or "x86_64_v4".
+ granularity: microarchitectures
+ # If "false" allow targets that are incompatible with the current host (for
+ # instance concretize with target "icelake" while running on "haswell").
+ # If "true" only allow targets that are compatible with the host.
+ host_compatible: false