diff --git a/ci/install_compilers.sh b/ci/install_compilers.sh index 75d576efc7587b27cf1be38b8a24c9918f28c3c3..09c4b53b18b4c0af41383222217c79e4bf5f9206 100755 --- a/ci/install_compilers.sh +++ b/ci/install_compilers.sh @@ -73,6 +73,13 @@ for c in "core_compilers" "compilers"; do fi done +export target=$(jq -Mrc ' +.stack.targets + | to_entries + | .[] + | select(.key == env.environment) + | .value' ${STACK_CONFIG}) + compilers_specs=$(jq -Mr ' .stack | .system_arch as $arch @@ -89,14 +96,15 @@ system_compiler=$(jq -Mrc ' ' ${STACK_CONFIG}) core_compilers=$(jq -Mrc '.stack + | .system_arch as $arch | .system_compiler + .core_compilers - | map("\(.compiler)@\(.version)") + | map("\(.compiler)@\(.version) \($arch)") ' ${STACK_CONFIG}) compilers=$(jq -Mrc '.stack | .compilers | map(select(.constraint == null)) - | map("\(.compiler)@\(.version)") + | map("\(.compiler)@\(.version) target=\(env.target)") ' ${STACK_CONFIG}) echo "definitions:" > ${SPACK_SYSTEM_CONFIG_PATH}/compiler_definitions.yaml @@ -123,7 +131,7 @@ jq -Mrc ' | .system_arch as $arch | .compilers | to_entries - | map(" - compiler_\(.key): [\(.value.compiler)@\(.value.version)]") + | map(" - compiler_\(.key): [\(.value.compiler)@\(.value.version) target=\(env.target)]") | .[] ' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/compiler_definitions.yaml diff --git a/ci/setup_spack.sh b/ci/setup_spack.sh index ba9fa947575c7aaff7cb412dd108d6c37cb83b9d..1f1e2457bc944d365065c8fce1dea4285cb66b93 100755 --- a/ci/setup_spack.sh +++ b/ci/setup_spack.sh @@ -84,3 +84,19 @@ spack/bin/spack buildcache keys \ #spack/bin/spack buildcache update-index /buildcache cp ${STACK_CONFIG_PATH}/packages_${environment}.yaml ${SPACK_SYSTEM_CONFIG_PATH}/packages_env.yaml + +echo "packages:" > ${SPACK_SYSTEM_CONFIG_PATH}/packages_system.yaml +export system_compiler=$(jq -Mrc ' +.stack + | .system_arch as $arch + | .system_compiler + | to_entries + | .[].value + | "\(.compiler)@\(.version) \($arch)" +' ${STACK_CONFIG}) + +jq -Mrc ' +.stack.system_packages + | map(" \(.):\n require:\n - spec: \"%\(env.system_compiler)\"") + | .[] +' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/packages_system.yaml diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json index 37dbbe3f935e8d08f06f1f7aa075eab396ca33a1..644aa7dad028e831178e7a06370a934ed4a06660 100644 --- a/stacks/pinot-noir/config.json +++ b/stacks/pinot-noir/config.json @@ -22,6 +22,13 @@ "version": "11.4.1" } }, + "targets": { + "helvetios": "skylake_avx512", + "izar": "cascadelake", + "jed": "icelake", + "kuma_l40s": "zen4", + "kuma_h100": "zen4" + }, "compilers": { "gcc_stable": { "compiler": "gcc", @@ -45,7 +52,32 @@ "version": "4.2.0", "constraint": "env['environment'] in ['jed']" } - - } + }, + "system_packages": [ + "autoconf", + "automake", + "autotools", + "ca-certificates-mozilla", + "cmake", + "diffutils", + "expat", + "findutils", + "freetype", + "gettext", + "glibc", + "gmake", + "gnuplot", + "libevent", + "m4", + "ncurses", + "openssl", + "pcre", + "perl", + "pkgconf", + "readline", + "sqlite", + "texinfo", + "zlib-ng" + ] } } diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml index d22afafaa77f0275dae3806769dbc1907391553a..b691dabf42267e4d334cac369faf12d2b7cb2e2e 100644 --- a/stacks/pinot-noir/spack.yaml +++ b/stacks/pinot-noir/spack.yaml @@ -2,7 +2,7 @@ spack: include: - compiler_definitions.yaml - packages_env.yaml - + - packages_system.yaml definitions: # ------------------------------------------------------------------------- # PE definition