From a015cd763a2c270f96ab18e56f3d6c5ee3498b75 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Fri, 2 Jul 2021 17:41:50 -0700 Subject: [PATCH 01/30] Latest preliminary CARE environment --- .gitlab-ci.yml | 6 +- .../blueos_3_ppc64le_ib_p9/compilers.yaml | 209 ++++++++++++++++++ .../care/blueos_3_ppc64le_ib_p9/packages.yaml | 127 +++++++++++ spack-environments/care/spack.yaml | 76 +++++++ .../care/toss_3_x86_64_ib/compilers.yaml | 52 +++++ .../care/toss_3_x86_64_ib/config.yaml | 4 + .../care/toss_3_x86_64_ib/packages.yaml | 151 +++++++++++++ 7 files changed, 622 insertions(+), 3 deletions(-) create mode 100644 spack-environments/care/blueos_3_ppc64le_ib_p9/compilers.yaml create mode 100644 spack-environments/care/blueos_3_ppc64le_ib_p9/packages.yaml create mode 100644 spack-environments/care/spack.yaml create mode 100644 spack-environments/care/toss_3_x86_64_ib/compilers.yaml create mode 100644 spack-environments/care/toss_3_x86_64_ib/config.yaml create mode 100644 spack-environments/care/toss_3_x86_64_ib/packages.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 118bf91..51a13a0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,17 +11,17 @@ variables: SPACK_PATH: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA}/spack #[--create-unique-path] SPACK_REPO: https://github.com/spack/spack.git - SPACK_REF: develop + SPACK_REF: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e SPACK_DEBUG: "-d" - PROJECT_NAME: "radiuss" + PROJECT_NAME: "care" # We only do one generation per stage because we found conflicts otherwise #[one-generate-per-stage--] stages: - get-spack - concretize-test - - generate-quartz - generate-lassen + - generate-quartz - build - rm-spack #[--one-generate-per-stage] diff --git a/spack-environments/care/blueos_3_ppc64le_ib_p9/compilers.yaml b/spack-environments/care/blueos_3_ppc64le_ib_p9/compilers.yaml new file mode 100644 index 0000000..0d23f30 --- /dev/null +++ b/spack-environments/care/blueos_3_ppc64le_ib_p9/compilers.yaml @@ -0,0 +1,209 @@ +compilers:: +- compiler: + spec: clang@3.9.1 + paths: + cc: /usr/tcetmp/packages/clang/clang-3.9.1/bin/clang + cxx: /usr/tcetmp/packages/clang/clang-3.9.1/bin/clang++ + f77: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + fc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: clang@4.0.0 + paths: + cc: /usr/tcetmp/packages/clang/clang-4.0.0/bin/clang + cxx: /usr/tcetmp/packages/clang/clang-4.0.0/bin/clang++ + f77: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + fc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: clang@9.0.0 + paths: + cc: /usr/tce/packages/clang/clang-9.0.0/bin/clang + cxx: /usr/tce/packages/clang/clang-9.0.0/bin/clang++ + f77: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + fc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: clang@9.0.0ibm + paths: + cc: /usr/tce/packages/clang/clang-ibm-2019.10.03/bin/clang + cxx: /usr/tce/packages/clang/clang-ibm-2019.10.03/bin/clang++ + fc: /usr/tce/packages/xl/xl-2020.03.18/bin/xlf2003_r + f77: /usr/tce/packages/xl/xl-2020.03.18/bin/xlf_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: clang@10.0.1ibm + paths: + cc: /usr/tce/packages/clang/clang-ibm-10.0.1/bin/clang + cxx: /usr/tce/packages/clang/clang-ibm-10.0.1/bin/clang++ + fc: /usr/tce/packages/xl/xl-2020.09.17/bin/xlf2003_r + f77: /usr/tce/packages/xl/xl-2020.09.17/bin/xlf_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: clang@coral2018.08.08 + paths: + cc: /usr/tce/packages/clang/clang-coral-2018.08.08/bin/clang + cxx: /usr/tce/packages/clang/clang-coral-2018.08.08/bin/clang++ + f77: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + fc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: clang@default + paths: + cc: clang + cxx: clang++ + f77: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + fc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: gcc@8.3.1 + paths: + cc: /usr/tce/packages/gcc/gcc-8.3.1/bin/gcc + cxx: /usr/tce/packages/gcc/gcc-8.3.1/bin/g++ + f77: /usr/tce/packages/gcc/gcc-8.3.1/bin/gfortran + fc: /usr/tce/packages/gcc/gcc-8.3.1/bin/gfortran + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: gcc@4.9.3 + paths: + cc: /usr/tce/packages/gcc/gcc-4.9.3/bin/gcc + cxx: /usr/tce/packages/gcc/gcc-4.9.3/bin/g++ + f77: /usr/tce/packages/gcc/gcc-4.9.3/bin/gfortran + fc: /usr/tce/packages/gcc/gcc-4.9.3/bin/gfortran + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: gcc@default + paths: + cc: gcc + cxx: g++ + f77: gfortran + fc: gfortran + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: xl@default + paths: + cc: xlc + cxx: xlc++ + f77: xlf2003 + fc: xlf2003 + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: xl@beta2019.06.20 + paths: + cc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlc + cxx: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlc++ + f77: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + fc: /usr/tce/packages/xl/xl-beta-2019.06.20/bin/xlf2003_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: xl@16.1.1.7 + paths: + cc: /usr/tce/packages/xl/xl-2020.03.18/bin/xlc_r + cxx: /usr/tce/packages/xl/xl-2020.03.18/bin/xlC_r + fc: /usr/tce/packages/xl/xl-2020.03.18/bin/xlf2003_r + f77: /usr/tce/packages/xl/xl-2020.03.18/bin/xlf_r + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: pgi@default + paths: + cc: pgcc + cxx: pgc++ + f77: pgfortran + fc: pgfortran + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: pgi@19.10 + paths: + cc: /usr/tce/packages/pgi/pgi-19.10/bin/pgcc + cxx: /usr/tce/packages/pgi/pgi-19.10/bin/pgc++ + f77: /usr/tce/packages/pgi/pgi-19.10/bin/pgfortran + fc: /usr/tce/packages/pgi/pgi-19.10/bin/pgfortran + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] +- compiler: + spec: pgi@20.4 + paths: + cc: /usr/tce/packages/pgi/pgi-20.4/bin/pgcc + cxx: /usr/tce/packages/pgi/pgi-20.4/bin/pgc++ + f77: /usr/tce/packages/pgi/pgi-20.4/bin/pgfortran + fc: /usr/tce/packages/pgi/pgi-20.4/bin/pgf90 + flags: {} + operating_system: rhel7 + target: ppc64le + modules: [] + environment: {} + extra_rpaths: [] diff --git a/spack-environments/care/blueos_3_ppc64le_ib_p9/packages.yaml b/spack-environments/care/blueos_3_ppc64le_ib_p9/packages.yaml new file mode 100644 index 0000000..ca46109 --- /dev/null +++ b/spack-environments/care/blueos_3_ppc64le_ib_p9/packages.yaml @@ -0,0 +1,127 @@ +packages:: + all: + permissions: + read: world + write: group + group: radiuss + providers: + blas: + - netlib-lapack + lapack: + - netlib-lapack + mpi: + - spectrum-mpi + unwind: + - libunwind + # This defaults us to machine specific flags of ivybridge which allows + # us to run on broadwell as well + target: [ppc64le] + compiler: [gcc, pgi, clang, xl] + + cuda: + version: [11.0.2, 10.1.243, 10.1.168, 9.2.148, 8.0] + buildable: false + externals: + - spec: cuda@11.0.2 + prefix: /usr/tce/packages/cuda/cuda-11.0.2 + - spec: cuda@10.1.243 + prefix: /usr/tce/packages/cuda/cuda-10.1.243 + - spec: cuda@10.1.168 + prefix: /usr/tce/packages/cuda/cuda-10.1.168 + - spec: cuda@9.2.148 + prefix: /usr/tce/packages/cuda/cuda-9.2.148 + - spec: cuda@8.0 + prefix: /usr/tce/packages/cuda/cuda-8.0 + spectrum-mpi: + externals: + - spec: spectrum-mpi@10.3.1.03rtm0%pgi@19.10 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-pgi-19.10 + - spec: spectrum-mpi@10.3.1.03rtm0%pgi@20.4 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-pgi-20.4 + - spec: spectrum-mpi@10.3.1.03rtm0%gcc@8.3.1 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-gcc-8.3.1 + - spec: spectrum-mpi@10.3.1.03rtm0%gcc@4.9.3 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-gcc-4.9.3 + - spec: spectrum-mpi@10.3.1.03rtm0%clang@9.0.0 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-9.0.0 + - spec: spectrum-mpi@10.3.1.03rtm0%clang@9.0.0ibm + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-ibm-2019.10.03 + - spec: spectrum-mpi@10.3.1.03rtm0%clang@10.0.1ibm + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-ibm-10.0.1 + - spec: spectrum-mpi@10.3.1.03rtm0%xl@16.1.1.7 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-xl-2020.03.18 + - spec: spectrum-mpi@10.3.1.03rtm0%xl@beta2019.06.20 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-xl-beta-2019.06.20 + buildable: false + + cmake: + #version: [3.14.5, 3.18.0, 3.20.2] + buildable: false + externals: + - spec: cmake@3.14.5 + prefix: /usr/tce/packages/cmake/cmake-3.14.5 + - spec: cmake@3.18.0 + prefix: /usr/tce/packages/cmake/cmake-3.18.0 + - spec: cmake@3.20.2 + prefix: /usr/tce/packages/cmake/cmake-3.20.2 + + python: + buildable: false + version: [3.8.2] + externals: + - spec: python@3.8.2 + prefix: /usr/tce/packages/python/python-3.8.2 + + # Blas/Lapack virtual package provider + netlib-lapack: + buildable: false + externals: + - spec: netlib-lapack@3.6.1 + prefix: /usr + + # System level packages to not build + autoconf: + buildable: false + externals: + - spec: autoconf@2.69 + prefix: /usr + automake: + buildable: false + externals: + - spec: automake@1.13.4 + prefix: /usr + bzip2: + buildable: false + externals: + - spec: bzip2@1.0.6 + prefix: /usr + gettext: + buildable: false + externals: + - spec: gettext@0.19.8.1 + prefix: /usr + libtool: + buildable: false + externals: + - spec: libtool@2.4.2 + prefix: /usr + m4: + buildable: false + externals: + - spec: m4@1.4.16 + prefix: /usr + perl: + buildable: false + externals: + - spec: perl@5.16.3 + prefix: /usr + pkg-config: + buildable: false + externals: + - spec: pkg-config@0.27.1 + prefix: /usr + tar: + buildable: false + externals: + - spec: tar@1.26 + prefix: /usr diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml new file mode 100644 index 0000000..2debd7d --- /dev/null +++ b/spack-environments/care/spack.yaml @@ -0,0 +1,76 @@ +############################################################################## +# Copyright (c) 2020-2021, Lawrence Livermore National Security, LLC and +# RADIUSS Stack project contributors. See the LICENSE file for details. +# +# SPDX-License-Identifier: MIT +############################################################################## + +spack: + #[general--] + include: + - ../radiuss/$SYS_TYPE + concretization: separately + view: false + #[--general] + + #[config-override--] + config: + install_tree: + root: /usr/workspace/radiuss/install/care-stack + padded_length: 128 + projections: + all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}' + misc_cache: $spack/.misc_cache + test_stage: $spack/.test_stage + 'build_stage:': + - $spack/var/spack/stage + #[--config-override] + + mirrors: + mirror: file:///usr/workspace/radiuss/mirrors/llnl-stack + + #[definitions--] + definitions: + - compilers: [] # ['%gcc@8.1.0', '%gcc@8.3.1', '%clang@10.0.0'] + when: env.get("SYS_TYPE", "") == "toss_3_x86_64_ib" + - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] + when: env.get("SYS_TYPE", "") == "blueos_3_ppc64le_ib_p9" + #[definitions--] + - projects: + when: env.get("SYS_TYPE", "") == "toss_3_x86_64_ib" + - projects: + - care+cuda cuda_arch=70 +allow-unsupported-compilers ^cuda@10.1.168 ^cmake@3.14.5 + when: env.get("SYS_TYPE", "") == "blueos_3_ppc64le_ib_p9" + - dependencies: [] + #- hdf5@1.8.21~shared #axom requires shared variant + #[--definitions] + + specs: + - matrix: + - [$projects, $dependencies] + - [$compilers] + + gitlab-ci: + script: + - . ${CHILD_SPACK_PATH}/share/spack/setup-env.sh + - cd ${SPACK_CONCRETE_ENV_DIR} && spack env activate --without-view . + - spack -d ci rebuild + + mappings: + # quartz + - match: + - target=broadwell + runner-attributes: + tags: [quartz, shell] + + # lassen + - match: + - 'target=ppc64le:' + runner-attributes: + tags: [lassen, shell] + + service-job-attributes: + tags: [lassen, shell] + before_script: + - . ${CHILD_SPACK_PATH}/share/spack/setup-env.sh + - spack env activate --without-view . diff --git a/spack-environments/care/toss_3_x86_64_ib/compilers.yaml b/spack-environments/care/toss_3_x86_64_ib/compilers.yaml new file mode 100644 index 0000000..ef0f4e0 --- /dev/null +++ b/spack-environments/care/toss_3_x86_64_ib/compilers.yaml @@ -0,0 +1,52 @@ +############################################################################## +# Copyright (c) 2020, Lawrence Livermore National Security, LLC and +# RADIUSS Stack project contributors. See the LICENSE file for details. +# +# SPDX-License-Identifier: MIT +############################################################################## + +compilers:: +- compiler: + environment: {} + extra_rpaths: [] + flags: + cflags: --gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 + cxxflags: --gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 + modules: + - clang/10.0.0 + operating_system: rhel7 + paths: + cc: /usr/tce/packages/clang/clang-10.0.0/bin/clang + cxx: /usr/tce/packages/clang/clang-10.0.0/bin/clang++ + f77: /usr/tce/packages/gcc/gcc-8.3.1/bin/gfortran + fc: /usr/tce/packages/gcc/gcc-8.3.1/bin/gfortran + spec: clang@10.0.0 + target: x86_64 +- compiler: + environment: {} + extra_rpaths: [] + flags: {} + modules: + - gcc/8.3.1 + operating_system: rhel7 + paths: + cc: /usr/tce/packages/gcc/gcc-8.3.1/bin/gcc + cxx: /usr/tce/packages/gcc/gcc-8.3.1/bin/g++ + f77: /usr/tce/packages/gcc/gcc-8.3.1/bin/gfortran + fc: /usr/tce/packages/gcc/gcc-8.3.1/bin/gfortran + spec: gcc@8.3.1 + target: x86_64 +- compiler: + environment: {} + extra_rpaths: [] + flags: {} + modules: + - gcc/8.1.0 + operating_system: rhel7 + paths: + cc: /usr/tce/packages/gcc/gcc-8.1.0/bin/gcc + cxx: /usr/tce/packages/gcc/gcc-8.1.0/bin/g++ + f77: /usr/tce/packages/gcc/gcc-8.1.0/bin/gfortran + fc: /usr/tce/packages/gcc/gcc-8.1.0/bin/gfortran + spec: gcc@8.1.0 + target: x86_64 diff --git a/spack-environments/care/toss_3_x86_64_ib/config.yaml b/spack-environments/care/toss_3_x86_64_ib/config.yaml new file mode 100644 index 0000000..2936d5a --- /dev/null +++ b/spack-environments/care/toss_3_x86_64_ib/config.yaml @@ -0,0 +1,4 @@ +config: + build_jobs: 36 + + concretizer: clingo diff --git a/spack-environments/care/toss_3_x86_64_ib/packages.yaml b/spack-environments/care/toss_3_x86_64_ib/packages.yaml new file mode 100644 index 0000000..bb8e9ae --- /dev/null +++ b/spack-environments/care/toss_3_x86_64_ib/packages.yaml @@ -0,0 +1,151 @@ +############################################################################## +# Copyright (c) 2020, Lawrence Livermore National Security, LLC and +# RADIUSS Stack project contributors. See the LICENSE file for details. +# +# SPDX-License-Identifier: MIT +############################################################################## + +#[config-override--] +packages:: +#[--config-override] + all: + permissions: + read: world + write: group + group: radiuss + providers: + blas: + - netlib-lapack + lapack: + - netlib-lapack + mpi: + - mvapich2 + - openmpi + unwind: + - libunwind + + mpi: + buildable: false + mvapich2: + buildable: false + externals: + - spec: mvapich2@2.2%gcc@8.1.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/mvapich2/mvapich2-2.2-gcc-8.1.0 + - spec: mvapich2@2.3%gcc@8.1.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/mvapich2/mvapich2-2.3-gcc-8.1.0 + - spec: mvapich2@2.2%gcc@8.3.1 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/mvapich2/mvapich2-2.2-gcc-8.3.1 + - spec: mvapich2@2.3%gcc@8.3.1 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/mvapich2/mvapich2-2.3-gcc-8.3.1 + - spec: mvapich2@2.2%clang@10.0.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/mvapich2/mvapich2-2.2-clang-10.0.0 + - spec: mvapich2@2.3%clang@10.0.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/mvapich2/mvapich2-2.3-clang-10.0.0 + openmpi: + buildable: false + externals: + - spec: openmpi@2.0.0%gcc@8.1.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-2.0.0-gcc-8.1.0 + - spec: openmpi@2.1.0%gcc@8.1.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-2.1.0-gcc-8.1.0 + - spec: openmpi@3.0.1%gcc@8.1.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-3.0.1-gcc-8.1.0 + - spec: openmpi@2.0.0%gcc@8.3.1 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-2.0.0-gcc-8.3.1 + - spec: openmpi@2.1.0%gcc@8.3.1 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-2.1.0-gcc-8.3.1 + - spec: openmpi@3.0.1%gcc@8.3.1 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-3.0.1-gcc-8.3.1 + - spec: openmpi@2.0.0%clang@10.0.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-2.0.0-clang-10.0.0 + - spec: openmpi@2.1.0%clang@10.0.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-2.1.0-clang-10.0.0 + - spec: openmpi@3.0.1%clang@10.0.0 arch=linux-rhel7-broadwell + prefix: /usr/tce/packages/openmpi/openmpi-3.0.1-clang-10.0.0 + cmake: + version: + - 3.18.0 + buildable: false + externals: + - spec: cmake@3.18.0 + prefix: /usr/tce/packages/cmake/cmake-3.18.0 + python: + buildable: false + externals: + - spec: python@3.8.2 + prefix: /usr/tce/packages/python/python-3.8.2 + netlib-lapack: + buildable: false + externals: + - spec: netlib-lapack@3.6.1 + prefix: /usr + autoconf: + buildable: false + externals: + - spec: autoconf@2.69 + prefix: /usr + automake: + buildable: false + externals: + - spec: automake@1.13.4 + prefix: /usr + bzip2: + buildable: false + externals: + - spec: bzip2@1.0.6 + prefix: /usr + gettext: + buildable: false + externals: + - spec: gettext@0.19.8.1 + prefix: /usr + graphviz: + buildable: false + externals: + - spec: graphviz@2.30.1 + prefix: /usr + libtool: + buildable: false + externals: + - spec: libtool@2.4.2 + prefix: /usr + libx11: + buildable: false + externals: + - spec: libx11@1.20.4 + prefix: /usr + m4: + buildable: false + externals: + - spec: m4@1.4.16 + prefix: /usr + perl: + buildable: false + externals: + - spec: perl@5.16.3 + prefix: /usr + pkg-config: + buildable: false + externals: + - spec: pkg-config@0.27.1 + prefix: /usr + tar: + buildable: false + externals: + - spec: tar@1.26 + prefix: /usr + unzip: + buildable: false + externals: + - spec: readline@6.2 + prefix: /usr + unzip: + buildable: false + externals: + - spec: unzip@6.0 + prefix: /usr + zlib: + buildable: false + externals: + - spec: zlib@1.2.7 + prefix: /usr From fa36499663e105bad4c728f9e8cfb735db98b98d Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Fri, 2 Jul 2021 17:56:57 -0700 Subject: [PATCH 02/30] Comment out use of quartz --- .gitlab-ci.yml | 10 ++++---- .gitlab/child/concretize.yml | 2 +- .gitlab/generate.yml | 38 +++++++++++++++--------------- spack-environments/care/spack.yaml | 10 ++++---- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 51a13a0..4657fbc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,20 +21,20 @@ stages: - get-spack - concretize-test - generate-lassen - - generate-quartz + #- generate-quartz - build - rm-spack #[--one-generate-per-stage] -.on-quartz: - tags: [shell, quartz] +#.on-quartz: +# tags: [shell, quartz] .on-lassen: tags: [shell, lassen] #[get-spack--] get-spack: - extends: [.on-quartz] + extends: [.on-lassen] # [.on-quartz] stage: get-spack script: - .gitlab/get-spack @@ -42,7 +42,7 @@ get-spack: #[rm-spack--] rm-spack: - extends: [.on-quartz] + extends: [.on-lassen] # [.on-quartz] stage: rm-spack script: - .gitlab/remove-spack diff --git a/.gitlab/child/concretize.yml b/.gitlab/child/concretize.yml index 6cc73b5..6b8fae6 100644 --- a/.gitlab/child/concretize.yml +++ b/.gitlab/child/concretize.yml @@ -22,7 +22,7 @@ stages: extends: .concretize_rules tags: - shell - - quartz + - lassen # - quartz before_script: - date - git clone ${CHILD_SPACK_PATH} --depth 1 local_spack diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index c6a08df..7516229 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -33,26 +33,26 @@ paths: - "${CI_PROJECT_DIR}/jobs_scratch_dir" -# quartz -generate-on-quartz: - extends: [.generate-pipeline, .on-quartz, .has_project_name] - stage: generate-quartz - before_script: - - .gitlab/print-variables +## quartz +#generate-on-quartz: +# extends: [.generate-pipeline, .on-quartz, .has_project_name] +# stage: generate-quartz +# before_script: +# - .gitlab/print-variables -#[send-variable-child--] -build-on-quartz: - extends: [.has_project_name] - stage: build - variables: - CHILD_SPACK_PATH: ${SPACK_PATH} - trigger: - include: - - artifact: "jobs_scratch_dir/pipeline.yml" - job: generate-on-quartz - strategy: depend - needs: [generate-on-quartz] -#[--send-variable-child] +##[send-variable-child--] +#build-on-quartz: +# extends: [.has_project_name] +# stage: build +# variables: +# CHILD_SPACK_PATH: ${SPACK_PATH} +# trigger: +# include: +# - artifact: "jobs_scratch_dir/pipeline.yml" +# job: generate-on-quartz +# strategy: depend +# needs: [generate-on-quartz] +##[--send-variable-child] # lassen generate-on-lassen: diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 2debd7d..0defff2 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -57,11 +57,11 @@ spack: - spack -d ci rebuild mappings: - # quartz - - match: - - target=broadwell - runner-attributes: - tags: [quartz, shell] + ## quartz + #- match: + # - target=broadwell + # runner-attributes: + # tags: [quartz, shell] # lassen - match: From e48f4368226457598e4eef04916f8c289bde16cf Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Fri, 2 Jul 2021 18:53:44 -0700 Subject: [PATCH 03/30] Initial pass at supporting sha-based clones --- .gitlab-ci.yml | 3 ++- .gitlab/get-spack | 34 ++++++++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4657fbc..e4f2225 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,7 +11,8 @@ variables: SPACK_PATH: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA}/spack #[--create-unique-path] SPACK_REPO: https://github.com/spack/spack.git - SPACK_REF: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e + SPACK_REF: devlop + SPACK_SHA: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e SPACK_DEBUG: "-d" PROJECT_NAME: "care" diff --git a/.gitlab/get-spack b/.gitlab/get-spack index b194d74..0590cf1 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -1,21 +1,43 @@ #!/bin/bash +# +# SPACK_SHA, if present, *might* be in a PR branch so is retrieved differently set -e +checkout() { + git fetch --depth 1 ${SPACK_REPO} $1:$1 + git checkout $1 + + # We tag the commit so we can retrieve which one was used by a given pipeline. + git tag ${CI_PIPELINE_ID} +} + +clonespack() { + if [ "${SPACK_SHA}" ] + then + # The SHA could be from a PR so get a full clone and fetch explicitly + git clone ${SPACK_REPO} ${SPACK_PATH} + cd ${SPACK_PATH} + checkout ${SPACK_SHA} + cd - + else + # A shallow clone is enough, and much faster. + git clone ${SPACK_REPO} --depth 1 --branch ${SPACK_REF} ${SPACK_PATH} + # Tag the commit so we can retrieve which one was used by a given pipeline. + git tag ${CI_PIPELINE_ID} + fi +} + #[get-spack--] if [[ ! -d ${SPACK_PATH} ]] then mkdir -p ${SPACK_PATH}/.. - # A shallow clone is enough, and much faster. - git clone ${SPACK_REPO} --depth 1 --branch ${SPACK_REF} ${SPACK_PATH} - # We tag the commit so we can retrieve which one was used by a given pipeline. - git tag ${CI_PIPELINE_ID} + clonespack else cd ${SPACK_PATH} git checkout -b temp git branch -D ${SPACK_REF} - git fetch --depth 1 ${SPACK_REPO} ${SPACK_REF}:${SPACK_REF} - git checkout ${SPACK_REF} + checkout ${SPACK_REF} git tag ${CI_PIPELINE_ID} git branch -D temp cd - From 836d0be1d65fe0ca03c83692d3c608541618c912 Mon Sep 17 00:00:00 2001 From: "Adrien M. Bernede" Date: Wed, 7 Jul 2021 12:26:02 -0700 Subject: [PATCH 04/30] Small fix and clean-up --- spack-environments/care/spack.yaml | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 0defff2..b472466 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -6,14 +6,11 @@ ############################################################################## spack: - #[general--] include: - ../radiuss/$SYS_TYPE concretization: separately view: false - #[--general] - #[config-override--] config: install_tree: root: /usr/workspace/radiuss/install/care-stack @@ -24,30 +21,18 @@ spack: test_stage: $spack/.test_stage 'build_stage:': - $spack/var/spack/stage - #[--config-override] mirrors: mirror: file:///usr/workspace/radiuss/mirrors/llnl-stack - #[definitions--] definitions: - - compilers: [] # ['%gcc@8.1.0', '%gcc@8.3.1', '%clang@10.0.0'] - when: env.get("SYS_TYPE", "") == "toss_3_x86_64_ib" - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] - when: env.get("SYS_TYPE", "") == "blueos_3_ppc64le_ib_p9" - #[definitions--] - - projects: - when: env.get("SYS_TYPE", "") == "toss_3_x86_64_ib" - projects: - care+cuda cuda_arch=70 +allow-unsupported-compilers ^cuda@10.1.168 ^cmake@3.14.5 - when: env.get("SYS_TYPE", "") == "blueos_3_ppc64le_ib_p9" - - dependencies: [] - #- hdf5@1.8.21~shared #axom requires shared variant - #[--definitions] specs: - matrix: - - [$projects, $dependencies] + - [$projects] - [$compilers] gitlab-ci: @@ -57,12 +42,6 @@ spack: - spack -d ci rebuild mappings: - ## quartz - #- match: - # - target=broadwell - # runner-attributes: - # tags: [quartz, shell] - # lassen - match: - 'target=ppc64le:' From 2c064d6a048886f568324856bcce33cb74a64916 Mon Sep 17 00:00:00 2001 From: "Adrien M. BERNEDE" Date: Thu, 8 Jul 2021 11:08:28 -0700 Subject: [PATCH 05/30] Several fixes, and ask for care@develop to workaround concretization issue --- .gitlab-ci.yml | 2 +- spack-environments/care/spack.yaml | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e4f2225..c997e8a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,7 +11,7 @@ variables: SPACK_PATH: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA}/spack #[--create-unique-path] SPACK_REPO: https://github.com/spack/spack.git - SPACK_REF: devlop + SPACK_REF: develop SPACK_SHA: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e SPACK_DEBUG: "-d" PROJECT_NAME: "care" diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index b472466..755041d 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -6,11 +6,9 @@ ############################################################################## spack: - include: - - ../radiuss/$SYS_TYPE + include: [$SYS_TYPE] concretization: separately view: false - config: install_tree: root: /usr/workspace/radiuss/install/care-stack @@ -24,17 +22,16 @@ spack: mirrors: mirror: file:///usr/workspace/radiuss/mirrors/llnl-stack - definitions: - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] - projects: - - care+cuda cuda_arch=70 +allow-unsupported-compilers ^cuda@10.1.168 ^cmake@3.14.5 + - care@develop +cuda cuda_arch=70 +allow-unsupported-compilers ^cuda@10.1.168 + ^cmake@3.14.5 specs: - matrix: - [$projects] - [$compilers] - gitlab-ci: script: - . ${CHILD_SPACK_PATH}/share/spack/setup-env.sh @@ -47,7 +44,6 @@ spack: - 'target=ppc64le:' runner-attributes: tags: [lassen, shell] - service-job-attributes: tags: [lassen, shell] before_script: From 36914b201b5eaef2316749ac6010a5eb59593ac7 Mon Sep 17 00:00:00 2001 From: "Adrien M. Bernede" Date: Thu, 8 Jul 2021 16:59:48 -0700 Subject: [PATCH 06/30] Simplify get spack logic --- .gitlab-ci.yml | 3 +-- .gitlab/get-spack | 63 +++++++++++++++++++++++++---------------------- 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c997e8a..4657fbc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,8 +11,7 @@ variables: SPACK_PATH: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA}/spack #[--create-unique-path] SPACK_REPO: https://github.com/spack/spack.git - SPACK_REF: develop - SPACK_SHA: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e + SPACK_REF: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e SPACK_DEBUG: "-d" PROJECT_NAME: "care" diff --git a/.gitlab/get-spack b/.gitlab/get-spack index 0590cf1..d9104d0 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -4,42 +4,47 @@ set -e -checkout() { - git fetch --depth 1 ${SPACK_REPO} $1:$1 - git checkout $1 +# Check necessary variables +spack_branch=${SPACK_REF:-""} +spack_branch=${SPACK_REPO:-""} - # We tag the commit so we can retrieve which one was used by a given pipeline. - git tag ${CI_PIPELINE_ID} +usage() { + echo " $0 needs either a branch or a hash." + echo " Use \$SPACK_REF to specify it." + echo "" + echo " $0 needs a repository url." + echo " Use \$SPACK_REPO to specify it." } -clonespack() { - if [ "${SPACK_SHA}" ] - then - # The SHA could be from a PR so get a full clone and fetch explicitly - git clone ${SPACK_REPO} ${SPACK_PATH} - cd ${SPACK_PATH} - checkout ${SPACK_SHA} - cd - - else - # A shallow clone is enough, and much faster. - git clone ${SPACK_REPO} --depth 1 --branch ${SPACK_REF} ${SPACK_PATH} - # Tag the commit so we can retrieve which one was used by a given pipeline. - git tag ${CI_PIPELINE_ID} - fi -} +if [[ -z ${spack_ref} ]]; then + echo "[ERROR] No branch or hash are defined in \$SPACK_REF." + usage +fi + +if [[ -z ${spack_repo} ]]; then + echo "[ERROR] No repository defined in \$SPACK_REPO." + usage +fi #[get-spack--] +# Create a new repo if not present, and prepare for fetch if [[ ! -d ${SPACK_PATH} ]] then - mkdir -p ${SPACK_PATH}/.. - clonespack -else + mkdir -p ${SPACK_PATH} cd ${SPACK_PATH} - git checkout -b temp - git branch -D ${SPACK_REF} - checkout ${SPACK_REF} - git tag ${CI_PIPELINE_ID} - git branch -D temp - cd - + git init + git remote add origin ${SPACK_REPO} fi + +# Go to the repo. +cd ${SPACK_PATH} + +# Fetch the reference. +git fetch --depth 1 ${spack_ref} + +# Checkout the reference. +git checkout FETCH_HEAD + +# Tag the commit with current pipeline ID. +git tag ${CI_PIPELINE_ID} #[--get-spack] From e732f6c6f4eeb249ad5837f507085ef51c99c0f6 Mon Sep 17 00:00:00 2001 From: "Adrien M. Bernede" Date: Thu, 8 Jul 2021 17:40:42 -0700 Subject: [PATCH 07/30] Add debug option to spack env activate command --- .gitlab/generate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index 7516229..9a03dcf 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -24,7 +24,7 @@ .generate-pipeline: script: - . ${SPACK_PATH}/share/spack/setup-env.sh - - spack env activate spack-environments/${PROJECT_NAME} + - spack ${SPACK_DEBUG} env activate spack-environments/${PROJECT_NAME} - spack ${SPACK_DEBUG} ci generate --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml" From 086ca78faac1271bd392eb83f5dc070215ec8fde Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Wed, 14 Jul 2021 14:00:06 -0700 Subject: [PATCH 08/30] Try activation from project subdir --- .gitlab/generate.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index 9a03dcf..c5379ac 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -24,11 +24,13 @@ .generate-pipeline: script: - . ${SPACK_PATH}/share/spack/setup-env.sh - - spack ${SPACK_DEBUG} env activate spack-environments/${PROJECT_NAME} + - cd spack-environments/${PROJECT_NAME} + - spack ${SPACK_DEBUG} env activate . - spack ${SPACK_DEBUG} ci generate --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml" - - cp -r spack-environments/${PROJECT_NAME}/${SYS_TYPE} ${CI_PROJECT_DIR}/jobs_scratch_dir/concrete_environment/ + #- cp -r spack-environments/${PROJECT_NAME}/${SYS_TYPE} ${CI_PROJECT_DIR}/jobs_scratch_dir/concrete_environment/ + - cp -r ${SYS_TYPE} ${CI_PROJECT_DIR}/jobs_scratch_dir/concrete_environment/ artifacts: paths: - "${CI_PROJECT_DIR}/jobs_scratch_dir" From 898ee78bfff4fe478790c455ae88b31d196a9b7c Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Wed, 14 Jul 2021 14:32:21 -0700 Subject: [PATCH 09/30] Disable env view and show spack version --- .gitlab/generate.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index c5379ac..3459c99 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -24,8 +24,9 @@ .generate-pipeline: script: - . ${SPACK_PATH}/share/spack/setup-env.sh + - spack --version - cd spack-environments/${PROJECT_NAME} - - spack ${SPACK_DEBUG} env activate . + - spack ${SPACK_DEBUG} env activate --without-view . - spack ${SPACK_DEBUG} ci generate --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml" From 70917afa95b7c01c1334f3ce4532b3968caec420 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Wed, 14 Jul 2021 14:49:59 -0700 Subject: [PATCH 10/30] Skip spack version, show install share root --- .gitlab/generate.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index 3459c99..0fa4285 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -24,7 +24,8 @@ .generate-pipeline: script: - . ${SPACK_PATH}/share/spack/setup-env.sh - - spack --version + #- spack --version + - echo $_spack_share_dir - cd spack-environments/${PROJECT_NAME} - spack ${SPACK_DEBUG} env activate --without-view . - spack ${SPACK_DEBUG} ci generate From e7078d49861f02a59de0c5ad666edfa153d9a4c4 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Wed, 14 Jul 2021 15:26:44 -0700 Subject: [PATCH 11/30] Use expected temp vars and consistent if format --- .gitlab/get-spack | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitlab/get-spack b/.gitlab/get-spack index d9104d0..bdfd5e0 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -5,8 +5,8 @@ set -e # Check necessary variables -spack_branch=${SPACK_REF:-""} -spack_branch=${SPACK_REPO:-""} +spack_ref=${SPACK_REF:-""} +spack_repo=${SPACK_REPO:-""} usage() { echo " $0 needs either a branch or a hash." @@ -16,14 +16,20 @@ usage() { echo " Use \$SPACK_REPO to specify it." } -if [[ -z ${spack_ref} ]]; then +if [[ -z ${spack_ref} ]] +then echo "[ERROR] No branch or hash are defined in \$SPACK_REF." usage +else + echo "Using branch or hash defined in \$SPACK_REF ($SPACK_REF)." fi -if [[ -z ${spack_repo} ]]; then +if [[ -z ${spack_repo} ]] +then echo "[ERROR] No repository defined in \$SPACK_REPO." usage +else + echo "Using repository defined in \$SPACK_REPO ($SPACK_REPO)." fi #[get-spack--] @@ -40,7 +46,7 @@ fi cd ${SPACK_PATH} # Fetch the reference. -git fetch --depth 1 ${spack_ref} +git fetch --depth 1 ${SPACK_REF} # Checkout the reference. git checkout FETCH_HEAD From 24c145312a214ee84df9e1922e87afa40f2cdf42 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Wed, 14 Jul 2021 18:19:56 -0700 Subject: [PATCH 12/30] Another get-spack pass --- .gitlab/get-spack | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/.gitlab/get-spack b/.gitlab/get-spack index bdfd5e0..d846bf2 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -37,19 +37,28 @@ fi if [[ ! -d ${SPACK_PATH} ]] then mkdir -p ${SPACK_PATH} + + # Check if the reference is a hash *before* cloning + curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/spack/spack/commits/${SPACK_REF} | python -c "import sys, json; print(json.load(sys.stdin)['sha'])" > out-${SPACK_REF}.$$ || error=1 + sha=`cat out-${SPACK_REF}.$$` + if [[ "$sha" == "${SPACK_REF}" ]] + then + # A commit was provided, which may not be on the develop branch + git clone ${SPACK_REPO} ${SPACK_PATH} + cd ${SPACK_PATH} + git fetch --depth 1 ${SPACK_REPO} ${SPACK_REF}:${SPACK_REF} + else + # A branch was provided so perform a faster shallow clone + git clone ${SPACK_REPO} --depth 1 --branch ${SPACK_REF} ${SPACK_PATH} + cd ${SPACK_PATH} + fi +else cd ${SPACK_PATH} - git init - git remote add origin ${SPACK_REPO} + git fetch --depth 1 ${SPACK_REF} fi -# Go to the repo. -cd ${SPACK_PATH} - -# Fetch the reference. -git fetch --depth 1 ${SPACK_REF} - -# Checkout the reference. -git checkout FETCH_HEAD +# Check out the reference +git checkout ${SPACK_REF} # Tag the commit with current pipeline ID. git tag ${CI_PIPELINE_ID} From 84736ba169f1af0b91da5683e382d42fbad1f601 Mon Sep 17 00:00:00 2001 From: "Adrien M. Bernede" Date: Thu, 15 Jul 2021 10:15:21 -0700 Subject: [PATCH 13/30] Fix get-spack script --- .gitlab/get-spack | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab/get-spack b/.gitlab/get-spack index d9104d0..7a6afd9 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -5,8 +5,8 @@ set -e # Check necessary variables -spack_branch=${SPACK_REF:-""} -spack_branch=${SPACK_REPO:-""} +spack_ref=${SPACK_REF:-""} +spack_repo=${SPACK_REPO:-""} usage() { echo " $0 needs either a branch or a hash." @@ -33,14 +33,14 @@ then mkdir -p ${SPACK_PATH} cd ${SPACK_PATH} git init - git remote add origin ${SPACK_REPO} + git remote add origin ${spack_repo} fi # Go to the repo. cd ${SPACK_PATH} # Fetch the reference. -git fetch --depth 1 ${spack_ref} +git fetch --depth 1 origin ${spack_ref} # Checkout the reference. git checkout FETCH_HEAD From e3cd19a2a0473978563574ea23a4b3a26c4fbee2 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 10:55:49 -0700 Subject: [PATCH 14/30] Add Peter's dependencies from CARE PR #144 --- spack-environments/care/spack.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 755041d..eb8f8d6 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -25,6 +25,9 @@ spack: definitions: - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] - projects: + - umpire@5.0.0 + - raja@main + - chai+enable_pick@2.3.0 - care@develop +cuda cuda_arch=70 +allow-unsupported-compilers ^cuda@10.1.168 ^cmake@3.14.5 From 912f0f7f2d927877d9a1663d296438c10402946d Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 11:30:35 -0700 Subject: [PATCH 15/30] Configure CARE env so hopefully all but umpire able to build --- spack-environments/care/spack.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index eb8f8d6..d107994 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -20,16 +20,19 @@ spack: 'build_stage:': - $spack/var/spack/stage + packages: + all: + variants: +cuda cuda_arch=70 +allow-unsupported-compilers + mirrors: mirror: file:///usr/workspace/radiuss/mirrors/llnl-stack definitions: - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] - projects: - - umpire@5.0.0 - - raja@main - - chai+enable_pick@2.3.0 - - care@develop +cuda cuda_arch=70 +allow-unsupported-compilers ^cuda@10.1.168 - ^cmake@3.14.5 + - umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 + - raja@main ^cmake@3.14.5 ^cuda@10.1.168 + - chai+enable_pick@2.3.0 ^cmake@3.14.5 ^cuda@10.1.168 + - care@develop ^cmake@3.14.5 ^cuda@10.1.168 specs: - matrix: From 410f5bdb20e24a24cb8d041f22cef9db08b27d7c Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 12:16:05 -0700 Subject: [PATCH 16/30] Skip umpire for now --- spack-environments/care/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index d107994..7619e5f 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -29,7 +29,7 @@ spack: definitions: - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] - projects: - - umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 + #- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - chai+enable_pick@2.3.0 ^cmake@3.14.5 ^cuda@10.1.168 - care@develop ^cmake@3.14.5 ^cuda@10.1.168 From 4b8d9a452d3fbca1de7f4e1731e0e48def6b1c19 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 14:59:31 -0700 Subject: [PATCH 17/30] Restore Adrien's get-spack fix --- .gitlab/get-spack | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/.gitlab/get-spack b/.gitlab/get-spack index 07144b0..7a6afd9 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -16,20 +16,14 @@ usage() { echo " Use \$SPACK_REPO to specify it." } -if [[ -z ${spack_ref} ]] -then +if [[ -z ${spack_ref} ]]; then echo "[ERROR] No branch or hash are defined in \$SPACK_REF." usage -else - echo "Using branch or hash defined in \$SPACK_REF ($SPACK_REF)." fi -if [[ -z ${spack_repo} ]] -then +if [[ -z ${spack_repo} ]]; then echo "[ERROR] No repository defined in \$SPACK_REPO." usage -else - echo "Using repository defined in \$SPACK_REPO ($SPACK_REPO)." fi #[get-spack--] @@ -37,22 +31,6 @@ fi if [[ ! -d ${SPACK_PATH} ]] then mkdir -p ${SPACK_PATH} - - # Check if the reference is a hash *before* cloning - curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/spack/spack/commits/${SPACK_REF} | python -c "import sys, json; print(json.load(sys.stdin)['sha'])" > out-${SPACK_REF}.$$ || error=1 - sha=`cat out-${SPACK_REF}.$$` - if [[ "$sha" == "${SPACK_REF}" ]] - then - # A commit was provided, which may not be on the develop branch - git clone ${SPACK_REPO} ${SPACK_PATH} - cd ${SPACK_PATH} - git fetch --depth 1 ${SPACK_REPO} ${SPACK_REF}:${SPACK_REF} - else - # A branch was provided so perform a faster shallow clone - git clone ${SPACK_REPO} --depth 1 --branch ${SPACK_REF} ${SPACK_PATH} - cd ${SPACK_PATH} - fi -else cd ${SPACK_PATH} git init git remote add origin ${spack_repo} From 5a6571477a2c4e19b83f1124540516dceb0703a9 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 15:37:10 -0700 Subject: [PATCH 18/30] Attempt to get chai to build with original concretizer --- spack-environments/care/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 7619e5f..75a49db 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -31,7 +31,7 @@ spack: - projects: #- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - - chai+enable_pick@2.3.0 ^cmake@3.14.5 ^cuda@10.1.168 + - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared - care@develop ^cmake@3.14.5 ^cuda@10.1.168 specs: From 90aeb5e5b3921bb9f2ba8eebff7daff99f289ba8 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 15:56:50 -0700 Subject: [PATCH 19/30] Attempt to get care to build with original concretizer --- spack-environments/care/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 75a49db..a4dd505 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -32,7 +32,7 @@ spack: #- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared - - care@develop ^cmake@3.14.5 ^cuda@10.1.168 + - care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared specs: - matrix: From 6529c87cdffdd087a3e6ff67c35a546670fa1053 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 16:49:02 -0700 Subject: [PATCH 20/30] Add raja@develop to care env --- spack-environments/care/spack.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index a4dd505..be88f85 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -33,6 +33,8 @@ spack: - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared - care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared + #- raja@develop ^cmake@3.14.5 ^camp@master + - raja@develop ^cmake@3.14.5 specs: - matrix: From 4273b55331f38c8f785d7e1931a7beb200ee1831 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 15 Jul 2021 17:00:11 -0700 Subject: [PATCH 21/30] Add camp@master dependency to raja@develop --- spack-environments/care/spack.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index be88f85..b8ba47e 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -33,8 +33,7 @@ spack: - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared - care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared - #- raja@develop ^cmake@3.14.5 ^camp@master - - raja@develop ^cmake@3.14.5 + - raja@develop ^cmake@3.14.5 ^camp@master specs: - matrix: From 2bb77f3e2b2724f6fb9e0a090d1ff48e2621b482 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Wed, 21 Jul 2021 18:36:39 -0700 Subject: [PATCH 22/30] Remove dated comment --- .gitlab/get-spack | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab/get-spack b/.gitlab/get-spack index 7a6afd9..c29b7a3 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -1,6 +1,4 @@ #!/bin/bash -# -# SPACK_SHA, if present, *might* be in a PR branch so is retrieved differently set -e From e94fa172ab1a9eefa145953e77d32689976c21f6 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 22 Jul 2021 18:06:28 -0700 Subject: [PATCH 23/30] Copy care package customization to spack clone; enable quartz --- .gitlab-ci.yml | 39 ++++++++++++--------- .gitlab/copy-care-packages | 35 +++++++++++++++++++ .gitlab/generate.yml | 40 ++++++++++----------- .gitlab/get-care | 71 ++++++++++++++++++++++++++++++++++++++ .gitlab/get-repo | 42 ++++++++++++++++++++++ .gitlab/get-spack | 61 ++++++++++++++++++++++---------- .gitlab/remove-repos | 12 +++++++ 7 files changed, 245 insertions(+), 55 deletions(-) create mode 100755 .gitlab/copy-care-packages create mode 100755 .gitlab/get-care create mode 100755 .gitlab/get-repo create mode 100755 .gitlab/remove-repos diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4657fbc..2fac0c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,9 +7,12 @@ #[create-unique-path--] variables: - SPACK_PARENT_DIR: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA} + CARE_PATH: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA}/care + REPO_PARENT_DIR: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA} SPACK_PATH: ${CI_BUILDS_DIR}/llnl-stack-${CI_COMMIT_SHORT_SHA}/spack #[--create-unique-path] + CARE_REPO: https://github.com/LLNL/CARE + CARE_REF: develop SPACK_REPO: https://github.com/spack/spack.git SPACK_REF: 1c92d832b6eefaf2cf1d053ff621ddd44de7606e SPACK_DEBUG: "-d" @@ -18,35 +21,39 @@ variables: # We only do one generation per stage because we found conflicts otherwise #[one-generate-per-stage--] stages: - - get-spack + - get-repos - concretize-test - generate-lassen - #- generate-quartz + - generate-quartz - build - - rm-spack + - rm-repos #[--one-generate-per-stage] -#.on-quartz: -# tags: [shell, quartz] +.on-quartz: + tags: [shell, quartz] .on-lassen: tags: [shell, lassen] -#[get-spack--] -get-spack: - extends: [.on-lassen] # [.on-quartz] - stage: get-spack +#[get-repos--] +get-repos: + extends: [.on-quartz] + stage: get-repos script: + - export SPACK_PACKAGE_DIR=$SPACK_PATH/var/spack/repos/builtin/packages + - export CARE_PACKAGE_DIR=$CARE_PATH/scripts/spack_packages - .gitlab/get-spack -#[--get-spack] + - .gitlab/get-care + - .gitlab/copy-care-packages +#[--get-repos] -#[rm-spack--] -rm-spack: +#[rm-repos--] +rm-repos: extends: [.on-lassen] # [.on-quartz] - stage: rm-spack + stage: rm-repos script: - - .gitlab/remove-spack -#[--rm-spack] + - .gitlab/remove-repos +#[--rm-repos] include: #- .gitlab/concretize.yml diff --git a/.gitlab/copy-care-packages b/.gitlab/copy-care-packages new file mode 100755 index 0000000..e87f259 --- /dev/null +++ b/.gitlab/copy-care-packages @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +# Check necessary variables +care_package_dir=${CARE_PACKAGE_DIR:-""} +spack_package_dir=${SPACK_PACKAGE_DIR:-""} + +usage() { + echo " $0 needs the CARE package directory" + echo " Use \$CARE_PACKAGE_DIR to specify it." + echo "" + echo " $0 needs a Spack package directory" + echo " Use \$SPACK_PACKAGE_DIR to specify it." +} + +if [[ -z ${care_package_dir} || ! -d ${care_package_dir} ]]; then + echo "[ERROR] No CARE package directory defined in \$CARE_PACKAGE_DIR." + usage +else + echo "Using ${care_package_dir} as the CARE package directory." +fi + +if [[ -z ${spack_package_dir} || ! -d ${spack_package_dir} ]]; then + echo "[ERROR] No Spack package directory defined in \$SPACK_PACKAGE_DIR." + usage +else + echo "Using ${spack_package_dir} as the SPACK package directory." +fi + +DIRS=`ls ${care_package_dir}` +for dir in $DIRS; do + echo "Replace selected package file(s) for ${dir}" + cp -f ${care_package_dir}/${dir}/* ${spack_package_dir}/${dir} +done diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index 0fa4285..a493fc8 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -11,7 +11,7 @@ rules: - if: '$PROJECT_NAME == ""' when: never - - if: '$CI_JOB_NAME == "rm-spack"' + - if: '$CI_JOB_NAME == "rm-repos"' when: always - when: on_success @@ -37,26 +37,26 @@ paths: - "${CI_PROJECT_DIR}/jobs_scratch_dir" -## quartz -#generate-on-quartz: -# extends: [.generate-pipeline, .on-quartz, .has_project_name] -# stage: generate-quartz -# before_script: -# - .gitlab/print-variables +# quartz +generate-on-quartz: + extends: [.generate-pipeline, .on-quartz, .has_project_name] + stage: generate-quartz + before_script: + - .gitlab/print-variables -##[send-variable-child--] -#build-on-quartz: -# extends: [.has_project_name] -# stage: build -# variables: -# CHILD_SPACK_PATH: ${SPACK_PATH} -# trigger: -# include: -# - artifact: "jobs_scratch_dir/pipeline.yml" -# job: generate-on-quartz -# strategy: depend -# needs: [generate-on-quartz] -##[--send-variable-child] +#[send-variable-child--] +build-on-quartz: + extends: [.has_project_name] + stage: build + variables: + CHILD_SPACK_PATH: ${SPACK_PATH} + trigger: + include: + - artifact: "jobs_scratch_dir/pipeline.yml" + job: generate-on-quartz + strategy: depend + needs: [generate-on-quartz] +#[--send-variable-child] # lassen generate-on-lassen: diff --git a/.gitlab/get-care b/.gitlab/get-care new file mode 100755 index 0000000..6f7dc82 --- /dev/null +++ b/.gitlab/get-care @@ -0,0 +1,71 @@ +#!/bin/bash +# +# Required inputs are environment variables: +# - CARE_REF = a branch or hash +# - CARE_REPO = repository URL +# - CARE_PATH = repository clone destination + +set -e + +# Check necessary variables +care_ref=${CARE_REF:-""} +care_repo=${CARE_REPO:-""} +care_path=${CARE_PATH:-""} + +usage() { + echo " $0 needs either a branch or a hash." + echo " Use \$CARE_REF to specify it." + echo "" + echo " $0 needs a repository url." + echo " Use \$CARE_REPO to specify it." + echo "" + echo " $0 needs a repository clone path." + echo " Use \$CARE_PATH to specify it." +} + +if [[ -z ${care_ref} ]]; then + echo "[ERROR] No branch or hash are defined in \$CARE_REF." + usage +else + echo "[INFO] Using ${care_ref} as the branch or hash." +fi + +if [[ -z ${care_repo} ]]; then + echo "[ERROR] No repository url defined in \$CARE_REPO." + usage +else + echo "[INFO] Using ${care_repo} as the repository URL." +fi + +if [[ -z ${care_path} ]]; then + echo "[ERROR] No clone path defined in \$CARE_PATH." + usage +else + echo "[INFO] Using ${care_path} as the clone path." +fi + +echo "[INFO] Calling .gitlab/get-repo from $PWD" +.gitlab/get-repo $care_repo $care_ref $care_path + +##[get-care--] +## Create a new repo if not present, and prepare for fetch +#if [[ ! -d ${care_path} ]] +#then +# mkdir -p ${care_path} +# cd ${care_path} +# git init +# git remote add origin ${care_repo} +#fi +# +## Go to the repo. +#cd ${care_path} +# +## Fetch the reference. +#git fetch --depth 1 origin ${care_ref} +# +## Checkout the reference. +#git checkout FETCH_HEAD +# +## Tag the commit with current pipeline ID. +#git tag ${CI_PIPELINE_ID} +##[--get-care] diff --git a/.gitlab/get-repo b/.gitlab/get-repo new file mode 100755 index 0000000..f97e633 --- /dev/null +++ b/.gitlab/get-repo @@ -0,0 +1,42 @@ +#!/bin/bash + +set -e + +if [[ $# -ne 3 ]]; then + echo "[ERROR] $0 requires three command line arguments." + echo + echo "USAGE: $0 " + exit 1 +else + echo "Using $1 as the repository url." + echo "Using $2 as the repository reference or branch." + echo "Using $3 as the clone path." +fi + +# Check necessary variables +repo=$1 +ref=$2 +clone_path=$3 + +#[get-repo--] +# Create a new repo if not present, and prepare for fetch +if [[ ! -d ${clone_path} ]] +then + mkdir -p ${clone_path} + cd ${clone_path} + git init + git remote add origin ${repo} +fi + +# Go to the repo. +cd ${clone_path} + +# Fetch the reference. +git fetch --depth 1 origin ${ref} + +# Checkout the reference. +git checkout FETCH_HEAD + +# Tag the commit with current pipeline ID. +git tag ${CI_PIPELINE_ID} +#[--get-repo] diff --git a/.gitlab/get-spack b/.gitlab/get-spack index c29b7a3..a6218e0 100755 --- a/.gitlab/get-spack +++ b/.gitlab/get-spack @@ -1,10 +1,16 @@ #!/bin/bash +# +# Required inputs are environment variables: +# - SPACK_REF = a branch or hash +# - SPACK_REPO = repository URL +# - SPACK_PATH = repository clone destination set -e # Check necessary variables spack_ref=${SPACK_REF:-""} spack_repo=${SPACK_REPO:-""} +spack_path=${SPACK_PATH:-""} usage() { echo " $0 needs either a branch or a hash." @@ -12,37 +18,54 @@ usage() { echo "" echo " $0 needs a repository url." echo " Use \$SPACK_REPO to specify it." + echo "" + echo " $0 needs a repository clone path." + echo " Use \$SPACK_PATH to specify it." } if [[ -z ${spack_ref} ]]; then echo "[ERROR] No branch or hash are defined in \$SPACK_REF." usage +else + echo "[INFO] Using ${spack_ref} as the branch or hash." fi if [[ -z ${spack_repo} ]]; then echo "[ERROR] No repository defined in \$SPACK_REPO." usage +else + echo "[INFO] Using ${spack_repo} as the repository." fi -#[get-spack--] -# Create a new repo if not present, and prepare for fetch -if [[ ! -d ${SPACK_PATH} ]] -then - mkdir -p ${SPACK_PATH} - cd ${SPACK_PATH} - git init - git remote add origin ${spack_repo} +if [[ -z ${spack_path} ]]; then + echo "[ERROR] No clone path defined in \$SPACK_PATH." + usage +else + echo "[INFO] Using ${spack_path} as the clone path." fi -# Go to the repo. -cd ${SPACK_PATH} - -# Fetch the reference. -git fetch --depth 1 origin ${spack_ref} - -# Checkout the reference. -git checkout FETCH_HEAD +echo "[INFO] Calling .gitlab/get-repo from $PWD" +.gitlab/get-repo $spack_repo $spack_ref $spack_path -# Tag the commit with current pipeline ID. -git tag ${CI_PIPELINE_ID} -#[--get-spack] +##[get-spack--] +## Create a new repo if not present, and prepare for fetch +#if [[ ! -d ${spack_path} ]] +#then +# mkdir -p ${spack_path} +# cd ${spack_path} +# git init +# git remote add origin ${spack_repo} +#fi +# +## Go to the repo. +#cd ${spack_path} +# +## Fetch the reference. +#git fetch --depth 1 origin ${spack_ref} +# +## Checkout the reference. +#git checkout FETCH_HEAD +# +## Tag the commit with current pipeline ID. +#git tag ${CI_PIPELINE_ID} +##[--get-spack] diff --git a/.gitlab/remove-repos b/.gitlab/remove-repos new file mode 100755 index 0000000..5a39894 --- /dev/null +++ b/.gitlab/remove-repos @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e + +#[rm-repos--] +if [[ ! -d ${REPOS_PARENT_DIR} ]] +then + echo "Repos parent directory ($REPOS_PARENT_DIR) not found" +else + rm -rf ${REPOS_PARENT_DIR} +fi +#[--rm-repos] From 3b5ac3e9cc7122139f2dd4c49a831bc81debf13c Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 22 Jul 2021 18:23:38 -0700 Subject: [PATCH 24/30] Disable quartz (again) --- .gitlab-ci.yml | 8 ++++---- .gitlab/generate.yml | 40 ++++++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2fac0c7..cfc2c6d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,20 +24,20 @@ stages: - get-repos - concretize-test - generate-lassen - - generate-quartz + #- generate-quartz - build - rm-repos #[--one-generate-per-stage] -.on-quartz: - tags: [shell, quartz] +#.on-quartz: +# tags: [shell, quartz] .on-lassen: tags: [shell, lassen] #[get-repos--] get-repos: - extends: [.on-quartz] + extends: [.on-lassen] # [.on-quartz] stage: get-repos script: - export SPACK_PACKAGE_DIR=$SPACK_PATH/var/spack/repos/builtin/packages diff --git a/.gitlab/generate.yml b/.gitlab/generate.yml index a493fc8..a806a2a 100644 --- a/.gitlab/generate.yml +++ b/.gitlab/generate.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2019-2020, Lawrence Livermore National Security, LLC and +# Copyright (c) 2019-2021, Lawrence Livermore National Security, LLC and # RADIUSS project contributors. See the COPYRIGHT file for details. # # SPDX-License-Identifier: (MIT) @@ -37,26 +37,26 @@ paths: - "${CI_PROJECT_DIR}/jobs_scratch_dir" -# quartz -generate-on-quartz: - extends: [.generate-pipeline, .on-quartz, .has_project_name] - stage: generate-quartz - before_script: - - .gitlab/print-variables +## quartz +#generate-on-quartz: +# extends: [.generate-pipeline, .on-quartz, .has_project_name] +# stage: generate-quartz +# before_script: +# - .gitlab/print-variables -#[send-variable-child--] -build-on-quartz: - extends: [.has_project_name] - stage: build - variables: - CHILD_SPACK_PATH: ${SPACK_PATH} - trigger: - include: - - artifact: "jobs_scratch_dir/pipeline.yml" - job: generate-on-quartz - strategy: depend - needs: [generate-on-quartz] -#[--send-variable-child] +##[send-variable-child--] +#build-on-quartz: +# extends: [.has_project_name] +# stage: build +# variables: +# CHILD_SPACK_PATH: ${SPACK_PATH} +# trigger: +# include: +# - artifact: "jobs_scratch_dir/pipeline.yml" +# job: generate-on-quartz +# strategy: depend +# needs: [generate-on-quartz] +##[--send-variable-child] # lassen generate-on-lassen: From 9bcefd79bdf93aaa506087937e9254212dfe54d5 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 22 Jul 2021 18:24:06 -0700 Subject: [PATCH 25/30] Skip care since failing now that using Peter's package --- spack-environments/care/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index b8ba47e..239d4fa 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -32,7 +32,7 @@ spack: #- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared - - care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared + #- care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared - raja@develop ^cmake@3.14.5 ^camp@master specs: From 054c811bd28bd754630b8b2669b1da4f5370cb48 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 22 Jul 2021 18:36:16 -0700 Subject: [PATCH 26/30] Start over with environment constraints for CARE's packages --- spack-environments/care/spack.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 239d4fa..a1d4de0 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -29,11 +29,17 @@ spack: definitions: - compilers: ['%gcc@8.3.1'] # ['%xl@16.1.1.7'] - projects: - #- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared + # Spack develop versions + ##- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 # not working + #- raja@main ^cmake@3.14.5 ^cuda@10.1.168 + #- chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared #- care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared - - raja@develop ^cmake@3.14.5 ^camp@master + # CARE repo's develop versions + - umpire@5.0.0~shared ^cuda@10.1.168 + - raja@develop + - raja@main ^cuda@10.1.168 + - care@develop + - raja@develop specs: - matrix: From a4bc8b58f97019985f6e6bd32c154a77797c5d4b Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 22 Jul 2021 18:47:27 -0700 Subject: [PATCH 27/30] Restore cmake constraint (and add/fix others) --- spack-environments/care/spack.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index a1d4de0..05b2f16 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -34,12 +34,13 @@ spack: #- raja@main ^cmake@3.14.5 ^cuda@10.1.168 #- chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 ^umpire@5.0.0~shared #- care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared + #- raja@develop ^cmake@3.14.5 ^camp@master # CARE repo's develop versions - - umpire@5.0.0~shared ^cuda@10.1.168 - - raja@develop - - raja@main ^cuda@10.1.168 - - care@develop - - raja@develop + - umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 + - raja@main ^cmake@3.14.5 ^cuda@10.1.168 + - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 # ^umpire@5.0.0~shared + - raja@develop ^cmake@3.14.5 + - care@develop ^cmake@3.14.5 specs: - matrix: From 9253d00561e6de24d123e326aa2277501a735ae4 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Thu, 22 Jul 2021 18:51:59 -0700 Subject: [PATCH 28/30] Fix care's chai variant issue --- spack-environments/care/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index 05b2f16..e0031b7 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -40,7 +40,7 @@ spack: - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 # ^umpire@5.0.0~shared - raja@develop ^cmake@3.14.5 - - care@develop ^cmake@3.14.5 + - care@develop ^cmake@3.14.5 ^chai~disable_rm specs: - matrix: From 550fde4b11eb5ebbe881259439854c930509e116 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Mon, 26 Jul 2021 11:49:28 -0700 Subject: [PATCH 29/30] Add cuda version constraint to care, disable chai@2.3.1 --- spack-environments/care/spack.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index e0031b7..f1267a4 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -38,9 +38,9 @@ spack: # CARE repo's develop versions - umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - - chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 # ^umpire@5.0.0~shared + #- chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 # ^umpire@5.0.0~shared - raja@develop ^cmake@3.14.5 - - care@develop ^cmake@3.14.5 ^chai~disable_rm + - care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^chai~disable_rm specs: - matrix: From 47966770e506975204045a05bec93f8496ba19e8 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren Date: Mon, 26 Jul 2021 14:23:55 -0700 Subject: [PATCH 30/30] Just specify care, not any of its dependencies, since using CARE's packages --- spack-environments/care/spack.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spack-environments/care/spack.yaml b/spack-environments/care/spack.yaml index f1267a4..f8db18c 100644 --- a/spack-environments/care/spack.yaml +++ b/spack-environments/care/spack.yaml @@ -36,10 +36,10 @@ spack: #- care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^umpire~shared ^raja~openmp ^chai~shared #- raja@develop ^cmake@3.14.5 ^camp@master # CARE repo's develop versions - - umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 - - raja@main ^cmake@3.14.5 ^cuda@10.1.168 - #- chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 # ^umpire@5.0.0~shared - - raja@develop ^cmake@3.14.5 + #- umpire@5.0.0~shared ^cmake@3.14.5 ^cuda@10.1.168 + #- raja@main ^cmake@3.14.5 ^cuda@10.1.168 + ##- chai+enable_pick@2.3.1 ^cmake@3.14.5 ^cuda@10.1.168 # ^umpire@5.0.0~shared + #- raja@develop ^cmake@3.14.5 - care@develop ^cmake@3.14.5 ^cuda@10.1.168 ^chai~disable_rm specs: