From 8d83be8234bfb8356ca8753af7927dda23a0f9c7 Mon Sep 17 00:00:00 2001 From: eap Date: Sun, 22 Dec 2024 15:39:49 -0700 Subject: [PATCH 01/11] Update ubuntu-clang image --- .../containers/docker-ubuntu-clang-mpich.yaml | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/configs/containers/docker-ubuntu-clang-mpich.yaml b/configs/containers/docker-ubuntu-clang-mpich.yaml index 9bcc1c866..cf83dc500 100644 --- a/configs/containers/docker-ubuntu-clang-mpich.yaml +++ b/configs/containers/docker-ubuntu-clang-mpich.yaml @@ -16,7 +16,7 @@ spack: f77: /usr/bin/gfortran fc: /usr/bin/gfortran flags: {} - operating_system: ubuntu22.04 + operating_system: ubuntu24.04 modules: [] environment: prepend_path: @@ -30,7 +30,7 @@ spack: require: '%clang' target: [x86_64] providers: - mpi: [mpich@4.2.1] + mpi: [mpich@4.2.3] compiler: [clang@14.0.0] gcc: buildable: false @@ -56,9 +56,9 @@ spack: mpich: buildable: false externals: - - spec: mpich@4.2.1 - prefix: /opt/mpich-4.2.1 - version: [4.2.1] + - spec: mpich@4.2.3 + prefix: /opt/mpich-4.2.3 + version: [4.2.3] diffutils: buildable: false externals: @@ -82,7 +82,7 @@ spack: mysql: buildable: false externals: - - spec: mysql@8.0.39 + - spec: mysql@8.0.40 prefix: /usr qt: buildable: false @@ -93,9 +93,9 @@ spack: wget: buildable: false externals: - - spec: wget@1.21.2 + - spec: wget@1.21.4 prefix: /usr - version: [1.21.2] + version: [1.21.4] specs: [] @@ -117,7 +117,7 @@ spack: # Sets the base images for the stages where Spack builds the # software or where the software gets installed after being built.. images: - os: ubuntu:22.04 + os: ubuntu:24.04 spack: url: https://github.com/jcsda/spack ref: spack-stack-dev @@ -197,15 +197,15 @@ spack: # Register spack-stack extension repo RUN spack repo add $SPACK_ROOT/var/spack/repos/spack-stack --scope defaults # Set default binaries for clang-14 and GNU-12. - RUN ln -svf /usr/bin/gfortran-12 /usr/bin/gfortran && \ - ln -svf /usr/bin/cpp-12 /usr/bin/cpp && \ - ln -svf /usr/bin/gcc-12 /usr/bin/gcc && \ - ln -svf /usr/bin/g++-12 /usr/bin/g++ && \ - ln -svf /usr/bin/clang-14 /usr/bin/clang && \ - ln -svf /usr/bin/clang++-14 /usr/bin/clang++ && \ - ln -svf /usr/bin/clang-cpp-14 /usr/bin/clang-cpp + RUN rm /usr/bin/cpp && ln -s /usr/bin/cpp-12 /usr/bin/cpp && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100 && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 && \ + update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-12 100 && \ + update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100 && \ + update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-14 100 && \ + update-alternatives --install /usr/bin/clang-cpp clang-cpp /usr/bin/clang-cpp-14 100 # Build mpich outside of spack-stack - ENV MPICH_VERSION=4.2.1 + ENV MPICH_VERSION=4.2.3 ENV CC=clang ENV CXX=clang++ ENV FC=gfortran @@ -231,23 +231,23 @@ spack: # Set environment variables for installing tzdata ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Etc/UTC - ENV MPICH_VERSION=4.2.1 + ENV MPICH_VERSION=4.2.3 ENV PATH=/opt/mpich-${MPICH_VERSION}/bin:${PATH} ENV CPATH=/opt/mpich-${MPICH_VERSION}/include:${CPATH} ENV LD_LIBRARY_PATH=/opt/mpich-${MPICH_VERSION}/lib:${LD_LIBRARY_PATH} final: | # Copy spack find output from builder COPY --from=builder /root/spack_find.out /root/spack_find.out - ENV MPICH_VERSION=4.2.1 + ENV MPICH_VERSION=4.2.3 # Set the GNU 12.x toolchain as the default compilers. # Set default binaries for clang-14 and GNU-12. - RUN ln -svf /usr/bin/gfortran-12 /usr/bin/gfortran && \ - ln -svf /usr/bin/cpp-12 /usr/bin/cpp && \ - ln -svf /usr/bin/gcc-12 /usr/bin/gcc && \ - ln -svf /usr/bin/g++-12 /usr/bin/g++ && \ - ln -svf /usr/bin/clang-14 /usr/bin/clang && \ - ln -svf /usr/bin/clang++-14 /usr/bin/clang++ && \ - ln -svf /usr/bin/clang-cpp-14 /usr/bin/clang-cpp + RUN rm /usr/bin/cpp && ln -s /usr/bin/cpp-12 /usr/bin/cpp && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100 && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 && \ + update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-12 100 && \ + update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100 && \ + update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-14 100 && \ + update-alternatives --install /usr/bin/clang-cpp clang-cpp /usr/bin/clang-cpp-14 100 # Copy mpich-${MPICH_VERSION} installation from builder COPY --from=builder /opt/mpich-${MPICH_VERSION} /opt/mpich-${MPICH_VERSION} # Make a non-root user:nonroot / group:nonroot for running MPI From fe3da1d5371fc917d5a25ba12d5a5122ee0c4df5 Mon Sep 17 00:00:00 2001 From: eap Date: Sun, 22 Dec 2024 21:49:13 -0700 Subject: [PATCH 02/11] add intel oneapi --- .../specs/docker-ubuntu-oneapi-impi.yaml | 368 ++++++++++++++++++ 1 file changed, 368 insertions(+) create mode 100644 configs/containers/specs/docker-ubuntu-oneapi-impi.yaml diff --git a/configs/containers/specs/docker-ubuntu-oneapi-impi.yaml b/configs/containers/specs/docker-ubuntu-oneapi-impi.yaml new file mode 100644 index 000000000..fabb219fa --- /dev/null +++ b/configs/containers/specs/docker-ubuntu-oneapi-impi.yaml @@ -0,0 +1,368 @@ +spack: + concretizer: + unify: true + + config: + checksum: false + build_jobs: 2 + connect_timeout: 60 + + compilers: + - compiler: + spec: gcc@=13.4.0 + paths: + cc: /usr/bin/gcc + cxx: /usr/bin/g++ + f77: /usr/bin/gfortran + fc: /usr/bin/gfortran + flags: {} + operating_system: ubuntu24.04 + target: x86_64 + modules: [] + environment: {} + extra_rpaths: [] + - compiler: + spec: oneapi@=2025.0.0 + paths: + cc: /opt/intel/oneapi/compiler/2025.0/bin/icx + cxx: /opt/intel/oneapi/compiler/2025.0/bin/icpx + f77: /opt/intel/oneapi/compiler/2025.0/bin/ifx + fc: /opt/intel/oneapi/compiler/2025.0/bin/ifx + flags: {} + operating_system: ubuntu24.04 + target: x86_64 + modules: [] + environment: {} + extra_rpaths: [] + + # Basic package config from configs/common/packages.yaml + # Additional package config for container + packages: + all: + require: '%oneapi' + target: [core2] + compiler: [oneapi@2025.0.0, gcc@13.4.0] + providers: + mpi: [intel-oneapi-mpi@2021.14.0] + autoconf: + externals: + - spec: autoconf@2.71 + prefix: /usr + automake: + externals: + - spec: automake@1.16.5 + prefix: /usr + binutils: + externals: + - spec: binutils@2.38 + prefix: /usr + bison: + require: + - '%gcc' + #boost: + # require: + # - '%gcc' + coreutils: + externals: + - spec: coreutils@8.32 + prefix: /usr + diffutils: + buildable: false + externals: + - spec: diffutils@3.8 + prefix: /usr + ectrans: + require: + - '+mkl ~fftw' + #ecflow: + # require: + # - '%gcc' + #findutils: + # externals: + # - spec: findutils@4.8.0 + # prefix: /usr + #flex: + # externals: + # - spec: flex@2.6.4+lex + # prefix: /usr + #gawk: + # externals: + # - spec: gawk@5.1.0 + # prefix: /usr + git: + buildable: false + externals: + - spec: git@2.34.1~tcltk + prefix: /usr + git-lfs: + buildable: false + externals: + - spec: git-lfs@3.0.2 + prefix: /usr + gmake: + externals: + - spec: gmake@4.3 + prefix: /usr + gsibec: + require: + - '+mkl' + intel-oneapi-mkl: + buildable: false + externals: + - spec: intel-oneapi-mkl@2025.0.0 + prefix: /opt/intel/oneapi + intel-oneapi-mpi: + buildable: false + externals: + - spec: intel-oneapi-mpi@2021.14.0%oneapi@2025.0.0 + prefix: /opt/intel/oneapi + intel-oneapi-tbb: + buildable: false + externals: + - spec: intel-oneapi-tbb@2022.0.0 + prefix: /opt/intel/oneapi + #libtool: + # externals: + # - spec: libtool@2.4.6 + # prefix: /usr + mpi: + buildable: False + #m4: + # externals: + # - spec: m4@1.4.18 + # prefix: /usr + #lcms: + # externals: + # - spec: lcms@2.13.1 + # prefix: /usr + libmd: + require: + - '%gcc' + libbsd: + require: + - '%gcc' + llvm: + buildable: false + externals: + - spec: llvm@14.0.6 + #grep: + # buildable: false + # externals: + # - spec: grep@3.7 + # prefix: /usr + mysql: + buildable: false + externals: + - spec: mysql@8.0.40 + prefix: /usr + #perl: + # externals: + # - spec: perl@5.34.0~cpanm+opcode+open+shared+threads + # prefix: /usr + pkg-config: + externals: + - spec: pkg-config@0.29.2 + prefix: /usr + py-pynacl: + buildable: false + externals: + - spec: py-pynacl@1.5.0 + prefix: /usr + py-numpy: + require: + - '^intel-oneapi-mkl' + # Turn off crypt, because libxcrypt doesn't + # build with Intel. + #python: + # variants: ~crypt + #qt: + # buildable: false + # externals: + # - spec: qt@5.15.3 + # prefix: /usr + # version: [5.15.3] + #sed: + # externals: + # - spec: sed@4.8 + # prefix: /usr + tar: + externals: + - spec: tar@1.34 + prefix: /usr + wget: + buildable: false + externals: + - spec: wget@1.21.2 + prefix: /usr + gettext: + externals: + - spec: gettext@0.21 + prefix: /usr + + specs: [] + + container: + + # Select the format of the recipe e.g. docker, + # singularity or anything else that is currently supported + format: docker + # How to use: + #$ spack containerize > Dockerfile + #$ sudo docker build -t myimage . + #$ sudo docker run -it myimage + + #format: singularity + # How to use: + #$ spack containerize > singularity.def + #$ sudo singularity build singularity.sif singularity.def + + # Sets the base images for the stages where Spack builds the + # software or where the software gets installed after being built.. + images: + os: ubuntu:24.04 + spack: + url: https://github.com/jcsda/spack + ref: spack-stack-dev + resolve_sha: true + + # Whether or not to strip binaries + strip: false + + ## Additional system packages that are needed at runtime + os_packages: + build: + - autoconf + - automake + - autopoint + - bc + - cpp-13 + - cmake + - flex + - g++-13 + - gcc-13 + - gettext + - gfortran-13 + - git + - git-lfs + - gpg + - libgomp1 + - llvm-14 + - mysql-server + - pkg-config + - qtbase5-dev + - qt5-qmake + - libqt5svg5-dev + - qt5dxcb-plugin + - libcurl4-openssl-dev + - wget + + final: + - autopoint + - bc + - cpp-13 + - g++-13 + - gcc-13 + - gettext + - gfortran-13 + - git + - git-lfs + - gpg + - libgomp1 + - llvm-14 + - make + - mysql-server + - pkg-config + - qtbase5-dev + - qt5-qmake + - libqt5svg5-dev + - qt5dxcb-plugin + - libcurl4-openssl-dev + - wget + # Implicitly included in build step + - build-essential + - ca-certificates + - curl + - file + - gnupg2 + - iproute2 + - locales + - python3 + - python3-pip + - python3-setuptools + - unzip + - vim + - nano + - less + + # Extra instructions + extra_instructions: + pre_build: | + # Copy the spack-stack extension repo into the spack code + COPY spack-ext-SPACK_STACK_HASH/repos/spack-stack $SPACK_ROOT/var/spack/repos/spack-stack + # Register spack-stack extension repo + RUN spack repo add $SPACK_ROOT/var/spack/repos/spack-stack --scope defaults + # Install Intel compilers and MPI library + RUN apt update && apt install apt-utils && \ + wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ + echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ + apt update && \ + apt install intel-oneapi-compiler-dpcpp-cpp-2025.0 intel-oneapi-compiler-fortran-2025.0 intel-oneapi-mkl-devel-2025.0 intel-oneapi-mpi-devel-2021.14 intel-oneapi-tbb-devel-2022.0 -y && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ + update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 && \ + rm /usr/bin/cpp && ln -s /usr/bin/cpp-13 /usr/bin/cpp && \ + # Needed by py-llvmlite + update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 100 && \ + rm -rf /var/lib/apt/lists/* + pre_final: | + # Set environment variables for installing tzdata + ENV DEBIAN_FRONTEND=noninteractive + ENV TZ=Etc/UTC + ENV CC=icc + ENV CXX=icpc + ENV FC=ifort + build: | + # Put output of spack find into a file + RUN cd /opt/spack-environment && \ + spack env activate -d . && \ + spack find 2>&1 | tee /root/spack_find.out + final: | + # Install Intel compilers and MPI library and pynacl + RUN apt update && apt install apt-utils && \ + wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ + echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ + apt update && \ + apt install intel-oneapi-compiler-dpcpp-cpp-2025.0 intel-oneapi-compiler-fortran-2025.0 intel-oneapi-mkl-devel-2025.0 intel-oneapi-mpi-devel-2021.14 intel-oneapi-tbb-devel-2022.0 -y && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ + update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 && \ + rm /usr/bin/cpp && ln -s /usr/bin/cpp-13 /usr/bin/cpp && \ + # Needed by py-llvmlite + update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 100 && \ + rm -rf /var/lib/apt/lists/* && \ + /opt/views/view/bin/pip3 install pynacl + # Copy spack find output from builder + COPY --from=builder /root/spack_find.out /root/spack_find.out + # Make a non-root user:nonroot / group:nonroot for running MPI + RUN useradd -U -k /etc/skel -s /bin/bash -d /home/nonroot -m nonroot --uid 43891 && \ + echo "ulimit -s unlimited" >> /home/nonroot/.bashrc && \ + echo "ulimit -v unlimited" >> /home/nonroot/.bashrc && \ + echo "export CC=icc" >> /home/nonroot/.bashrc && \ + echo "export CXX=icpc" >> /home/nonroot/.bashrc && \ + echo "export FC=ifort" >> /home/nonroot/.bashrc && \ + echo "source /opt/intel/oneapi/setvars.sh" >> /etc/bash.bashrc && \ + printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ + chown -R nonroot:nonroot /home/nonroot/.gitconfig + # Replicate settings for root user + RUN echo "ulimit -s unlimited" >> /root/.bashrc && \ + echo "ulimit -v unlimited" >> /root/.bashrc && \ + echo "export CC=icc" >> /root/.bashrc && \ + echo "export CXX=icpc" >> /root/.bashrc && \ + echo "export FC=ifort" >> /root/.bashrc && \ + echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/intel-*/jedi-cmake-*)" >> /root/.bashrc && \ + printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig + + # Labels for the image + labels: + app: "" + mpi: "intel-oneapi-mpi" From 4c5520be5a3314a2d7faa2ec8ad918aab2c80fbc Mon Sep 17 00:00:00 2001 From: eap Date: Sun, 22 Dec 2024 21:53:43 -0700 Subject: [PATCH 03/11] move file --- configs/containers/{specs => }/docker-ubuntu-oneapi-impi.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename configs/containers/{specs => }/docker-ubuntu-oneapi-impi.yaml (100%) diff --git a/configs/containers/specs/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml similarity index 100% rename from configs/containers/specs/docker-ubuntu-oneapi-impi.yaml rename to configs/containers/docker-ubuntu-oneapi-impi.yaml From 517ae53081d0a7ebac1e1757eecaddd751dd75bc Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Dec 2024 00:17:39 -0700 Subject: [PATCH 04/11] several fixes --- .../containers/docker-ubuntu-oneapi-impi.yaml | 33 ++++++++++--------- configs/containers/specs/jedi-ci.yaml | 2 +- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index fabb219fa..d17b78007 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -4,7 +4,7 @@ spack: config: checksum: false - build_jobs: 2 + build_jobs: 6 connect_timeout: 60 compilers: @@ -43,7 +43,7 @@ spack: target: [core2] compiler: [oneapi@2025.0.0, gcc@13.4.0] providers: - mpi: [intel-oneapi-mpi@2021.14.0] + mpi: [intel-oneapi-mpi@2021.14] autoconf: externals: - spec: autoconf@2.71 @@ -109,17 +109,17 @@ spack: intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2025.0.0 + - spec: intel-oneapi-mkl@2025.0 prefix: /opt/intel/oneapi intel-oneapi-mpi: buildable: false externals: - - spec: intel-oneapi-mpi@2021.14.0%oneapi@2025.0.0 + - spec: intel-oneapi-mpi@2021.14%oneapi@2025.0.0 prefix: /opt/intel/oneapi intel-oneapi-tbb: buildable: false externals: - - spec: intel-oneapi-tbb@2022.0.0 + - spec: intel-oneapi-tbb@2022.0 prefix: /opt/intel/oneapi #libtool: # externals: @@ -307,6 +307,9 @@ spack: echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ apt update && \ apt install intel-oneapi-compiler-dpcpp-cpp-2025.0 intel-oneapi-compiler-fortran-2025.0 intel-oneapi-mkl-devel-2025.0 intel-oneapi-mpi-devel-2021.14 intel-oneapi-tbb-devel-2022.0 -y && \ + ln -s /opt/intel/oneapi/mpi/2021.14 /opt/intel/oneapi/mpi/2021.14.0 && \ + ln -s /opt/intel/oneapi/mkl/2025.0 /opt/intel/oneapi/mkl/2025.0.0 && \ + ln -s /opt/intel/oneapi/compiler/2025.0 /opt/intel/oneapi/compiler/2025.0.0 && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 && \ @@ -318,9 +321,9 @@ spack: # Set environment variables for installing tzdata ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Etc/UTC - ENV CC=icc - ENV CXX=icpc - ENV FC=ifort + ENV CC=icx + ENV CXX=icpx + ENV FC=ifx build: | # Put output of spack find into a file RUN cd /opt/spack-environment && \ @@ -347,19 +350,19 @@ spack: RUN useradd -U -k /etc/skel -s /bin/bash -d /home/nonroot -m nonroot --uid 43891 && \ echo "ulimit -s unlimited" >> /home/nonroot/.bashrc && \ echo "ulimit -v unlimited" >> /home/nonroot/.bashrc && \ - echo "export CC=icc" >> /home/nonroot/.bashrc && \ - echo "export CXX=icpc" >> /home/nonroot/.bashrc && \ - echo "export FC=ifort" >> /home/nonroot/.bashrc && \ + echo "export CC=icx" >> /home/nonroot/.bashrc && \ + echo "export CXX=icpx" >> /home/nonroot/.bashrc && \ + echo "export FC=ifx" >> /home/nonroot/.bashrc && \ echo "source /opt/intel/oneapi/setvars.sh" >> /etc/bash.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ chown -R nonroot:nonroot /home/nonroot/.gitconfig # Replicate settings for root user RUN echo "ulimit -s unlimited" >> /root/.bashrc && \ echo "ulimit -v unlimited" >> /root/.bashrc && \ - echo "export CC=icc" >> /root/.bashrc && \ - echo "export CXX=icpc" >> /root/.bashrc && \ - echo "export FC=ifort" >> /root/.bashrc && \ - echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/intel-*/jedi-cmake-*)" >> /root/.bashrc && \ + echo "export CC=icx" >> /root/.bashrc && \ + echo "export CXX=icpx" >> /root/.bashrc && \ + echo "export FC=ifx" >> /root/.bashrc && \ + echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/oneapi-*/jedi-cmake-*)" >> /root/.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig # Labels for the image diff --git a/configs/containers/specs/jedi-ci.yaml b/configs/containers/specs/jedi-ci.yaml index dcf3ce744..1f4061e0d 100644 --- a/configs/containers/specs/jedi-ci.yaml +++ b/configs/containers/specs/jedi-ci.yaml @@ -15,7 +15,7 @@ eckit@1.28.3, ecmwf-atlas@0.40.0 +fckit +trans +tesselation +fftw, fiat@1.4.1, - ectrans@1.2.0 +fftw, + ectrans@1.2.0, eigen@3.4.0, fckit@0.13.2, fms@2024.02, From 60b1cc1b79ab61de4658367e0b9b9f5f11c438d5 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Dec 2024 11:00:40 -0700 Subject: [PATCH 05/11] fix intel compiler version --- .../containers/docker-ubuntu-oneapi-impi.yaml | 52 +++++++++++++------ 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index d17b78007..53aa57c03 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -1,3 +1,20 @@ +###### DO NOT SUBMIT THIS BLOCK ##### +## Intel packages +# intel-oneapi-compiler-dpcpp-cpp-2024.2 \ +# intel-oneapi-compiler-fortran-2024.2 \ +# intel-oneapi-mpi-devel-2021.13 \ +# intel-oneapi-tbb-devel-2021.13 \ +# intel-oneapi-mkl-devel-2024.2 +# +# +## Versions reported by apt cache policy +# compiler - 2024.2.1 +# fortran 2024.2.1 +# mpi - 2021.13.1 +# tbb - 2021.13.1 +# mkl - 2024.2.2 +#### /end DNS ######################## + spack: concretizer: unify: true @@ -22,17 +39,20 @@ spack: environment: {} extra_rpaths: [] - compiler: - spec: oneapi@=2025.0.0 + spec: oneapi@=2024.2.1 paths: - cc: /opt/intel/oneapi/compiler/2025.0/bin/icx - cxx: /opt/intel/oneapi/compiler/2025.0/bin/icpx - f77: /opt/intel/oneapi/compiler/2025.0/bin/ifx - fc: /opt/intel/oneapi/compiler/2025.0/bin/ifx + cc: /opt/intel/oneapi/compiler/2024.2/bin/icx + cxx: /opt/intel/oneapi/compiler/2024.2/bin/icpx + f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx + fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx flags: {} operating_system: ubuntu24.04 target: x86_64 modules: [] - environment: {} + environment: + # change to append_path once relevant PR is merged + append_path: + CPATH: /opt/intel/oneapi/compiler/2024.2/opt/compiler/include/intel64 extra_rpaths: [] # Basic package config from configs/common/packages.yaml @@ -41,9 +61,9 @@ spack: all: require: '%oneapi' target: [core2] - compiler: [oneapi@2025.0.0, gcc@13.4.0] + compiler: [oneapi@2024.2.1, gcc@13.4.0] providers: - mpi: [intel-oneapi-mpi@2021.14] + mpi: [intel-oneapi-mpi@2021.13] autoconf: externals: - spec: autoconf@2.71 @@ -109,17 +129,17 @@ spack: intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2025.0 + - spec: intel-oneapi-mkl@2024.2 prefix: /opt/intel/oneapi intel-oneapi-mpi: buildable: false externals: - - spec: intel-oneapi-mpi@2021.14%oneapi@2025.0.0 + - spec: intel-oneapi-mpi@2021.13%oneapi@2024.2.1 prefix: /opt/intel/oneapi intel-oneapi-tbb: buildable: false externals: - - spec: intel-oneapi-tbb@2022.0 + - spec: intel-oneapi-tbb@2021.13 prefix: /opt/intel/oneapi #libtool: # externals: @@ -306,10 +326,10 @@ spack: wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ apt update && \ - apt install intel-oneapi-compiler-dpcpp-cpp-2025.0 intel-oneapi-compiler-fortran-2025.0 intel-oneapi-mkl-devel-2025.0 intel-oneapi-mpi-devel-2021.14 intel-oneapi-tbb-devel-2022.0 -y && \ - ln -s /opt/intel/oneapi/mpi/2021.14 /opt/intel/oneapi/mpi/2021.14.0 && \ - ln -s /opt/intel/oneapi/mkl/2025.0 /opt/intel/oneapi/mkl/2025.0.0 && \ - ln -s /opt/intel/oneapi/compiler/2025.0 /opt/intel/oneapi/compiler/2025.0.0 && \ + apt install intel-oneapi-compiler-dpcpp-cpp-2024.2 intel-oneapi-compiler-fortran-2024.2 intel-oneapi-mpi-devel-2021.13 intel-oneapi-tbb-devel-2021.13 intel-oneapi-mkl-devel-2024.2 -y && \ + #ln -s /opt/intel/oneapi/mpi/2021.13 /opt/intel/oneapi/mpi/2021.13.1 && \ + #ln -s /opt/intel/oneapi/mkl/2024.2 /opt/intel/oneapi/mkl/2024.2.2 && \ + #ln -s /opt/intel/oneapi/compiler/2024.2 /opt/intel/oneapi/compiler/2024.2.1 && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 && \ @@ -335,7 +355,7 @@ spack: wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ apt update && \ - apt install intel-oneapi-compiler-dpcpp-cpp-2025.0 intel-oneapi-compiler-fortran-2025.0 intel-oneapi-mkl-devel-2025.0 intel-oneapi-mpi-devel-2021.14 intel-oneapi-tbb-devel-2022.0 -y && \ + apt install intel-oneapi-compiler-dpcpp-cpp-2024.2 intel-oneapi-compiler-fortran-2024.2 intel-oneapi-mpi-devel-2021.13 intel-oneapi-tbb-devel-2021.13 intel-oneapi-mkl-devel-2024.2 -y && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 && \ From 6c59f6ad58b0c649740abb480d3c5fec98c13d25 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Dec 2024 14:12:35 -0700 Subject: [PATCH 06/11] ifort correct path --- configs/containers/docker-ubuntu-oneapi-impi.yaml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index 53aa57c03..d6b85e63f 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -43,8 +43,10 @@ spack: paths: cc: /opt/intel/oneapi/compiler/2024.2/bin/icx cxx: /opt/intel/oneapi/compiler/2024.2/bin/icpx - f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx - fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx + #f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx + #fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx + f77: /opt/intel/oneapi/compiler/2024.2/bin/ifort + fc: /opt/intel/oneapi/compiler/2024.2/bin/ifort flags: {} operating_system: ubuntu24.04 target: x86_64 @@ -343,7 +345,7 @@ spack: ENV TZ=Etc/UTC ENV CC=icx ENV CXX=icpx - ENV FC=ifx + ENV FC=ifort build: | # Put output of spack find into a file RUN cd /opt/spack-environment && \ @@ -372,7 +374,7 @@ spack: echo "ulimit -v unlimited" >> /home/nonroot/.bashrc && \ echo "export CC=icx" >> /home/nonroot/.bashrc && \ echo "export CXX=icpx" >> /home/nonroot/.bashrc && \ - echo "export FC=ifx" >> /home/nonroot/.bashrc && \ + echo "export FC=ifort" >> /home/nonroot/.bashrc && \ echo "source /opt/intel/oneapi/setvars.sh" >> /etc/bash.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ chown -R nonroot:nonroot /home/nonroot/.gitconfig @@ -381,7 +383,7 @@ spack: echo "ulimit -v unlimited" >> /root/.bashrc && \ echo "export CC=icx" >> /root/.bashrc && \ echo "export CXX=icpx" >> /root/.bashrc && \ - echo "export FC=ifx" >> /root/.bashrc && \ + echo "export FC=ifort" >> /root/.bashrc && \ echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/oneapi-*/jedi-cmake-*)" >> /root/.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig From fe41b1d7922315ef20aaa11be0832cbd526b23af Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Dec 2024 17:19:39 -0700 Subject: [PATCH 07/11] Cleanup comments and definitions --- .../containers/docker-ubuntu-oneapi-impi.yaml | 85 +++---------------- 1 file changed, 13 insertions(+), 72 deletions(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index d6b85e63f..618e19c3c 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -43,10 +43,10 @@ spack: paths: cc: /opt/intel/oneapi/compiler/2024.2/bin/icx cxx: /opt/intel/oneapi/compiler/2024.2/bin/icpx - #f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx - #fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx - f77: /opt/intel/oneapi/compiler/2024.2/bin/ifort - fc: /opt/intel/oneapi/compiler/2024.2/bin/ifort + f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx + fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx + #f77: /opt/intel/oneapi/compiler/2024.2/bin/ifort + #fc: /opt/intel/oneapi/compiler/2024.2/bin/ifort flags: {} operating_system: ubuntu24.04 target: x86_64 @@ -81,9 +81,6 @@ spack: bison: require: - '%gcc' - #boost: - # require: - # - '%gcc' coreutils: externals: - spec: coreutils@8.32 @@ -96,21 +93,6 @@ spack: ectrans: require: - '+mkl ~fftw' - #ecflow: - # require: - # - '%gcc' - #findutils: - # externals: - # - spec: findutils@4.8.0 - # prefix: /usr - #flex: - # externals: - # - spec: flex@2.6.4+lex - # prefix: /usr - #gawk: - # externals: - # - spec: gawk@5.1.0 - # prefix: /usr git: buildable: false externals: @@ -128,6 +110,10 @@ spack: gsibec: require: - '+mkl' + # Building icu4c with oneapi intel causes segfault. + icu4c: + require: + - '%gcc' intel-oneapi-mkl: buildable: false externals: @@ -143,20 +129,8 @@ spack: externals: - spec: intel-oneapi-tbb@2021.13 prefix: /opt/intel/oneapi - #libtool: - # externals: - # - spec: libtool@2.4.6 - # prefix: /usr mpi: buildable: False - #m4: - # externals: - # - spec: m4@1.4.18 - # prefix: /usr - #lcms: - # externals: - # - spec: lcms@2.13.1 - # prefix: /usr libmd: require: - '%gcc' @@ -167,20 +141,11 @@ spack: buildable: false externals: - spec: llvm@14.0.6 - #grep: - # buildable: false - # externals: - # - spec: grep@3.7 - # prefix: /usr mysql: buildable: false externals: - spec: mysql@8.0.40 prefix: /usr - #perl: - # externals: - # - spec: perl@5.34.0~cpanm+opcode+open+shared+threads - # prefix: /usr pkg-config: externals: - spec: pkg-config@0.29.2 @@ -193,20 +158,6 @@ spack: py-numpy: require: - '^intel-oneapi-mkl' - # Turn off crypt, because libxcrypt doesn't - # build with Intel. - #python: - # variants: ~crypt - #qt: - # buildable: false - # externals: - # - spec: qt@5.15.3 - # prefix: /usr - # version: [5.15.3] - #sed: - # externals: - # - spec: sed@4.8 - # prefix: /usr tar: externals: - spec: tar@1.34 @@ -228,18 +179,8 @@ spack: # Select the format of the recipe e.g. docker, # singularity or anything else that is currently supported format: docker - # How to use: - #$ spack containerize > Dockerfile - #$ sudo docker build -t myimage . - #$ sudo docker run -it myimage - - #format: singularity - # How to use: - #$ spack containerize > singularity.def - #$ sudo singularity build singularity.sif singularity.def - # Sets the base images for the stages where Spack builds the - # software or where the software gets installed after being built.. + # Sets the base images for the stages where Spack builds and installs. images: os: ubuntu:24.04 spack: @@ -345,7 +286,7 @@ spack: ENV TZ=Etc/UTC ENV CC=icx ENV CXX=icpx - ENV FC=ifort + ENV FC=ifx build: | # Put output of spack find into a file RUN cd /opt/spack-environment && \ @@ -374,7 +315,7 @@ spack: echo "ulimit -v unlimited" >> /home/nonroot/.bashrc && \ echo "export CC=icx" >> /home/nonroot/.bashrc && \ echo "export CXX=icpx" >> /home/nonroot/.bashrc && \ - echo "export FC=ifort" >> /home/nonroot/.bashrc && \ + echo "export FC=ifx" >> /home/nonroot/.bashrc && \ echo "source /opt/intel/oneapi/setvars.sh" >> /etc/bash.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ chown -R nonroot:nonroot /home/nonroot/.gitconfig @@ -383,11 +324,11 @@ spack: echo "ulimit -v unlimited" >> /root/.bashrc && \ echo "export CC=icx" >> /root/.bashrc && \ echo "export CXX=icpx" >> /root/.bashrc && \ - echo "export FC=ifort" >> /root/.bashrc && \ + echo "export FC=ifx" >> /root/.bashrc && \ echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/oneapi-*/jedi-cmake-*)" >> /root/.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig # Labels for the image labels: app: "" - mpi: "intel-oneapi-mpi" + mpi: "intel-llvm-oneapi-mpi" From a9ded31cc2ad91a7170ad587984720e1d3caa843 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Dec 2024 17:49:02 -0700 Subject: [PATCH 08/11] reduce parallelism --- configs/containers/docker-ubuntu-oneapi-impi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index 618e19c3c..468c77957 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -21,7 +21,7 @@ spack: config: checksum: false - build_jobs: 6 + build_jobs: 2 connect_timeout: 60 compilers: From 752ae44c817a4fd0f69f8eec1d538a5f81291173 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Dec 2024 17:51:53 -0700 Subject: [PATCH 09/11] Fix DNS comments --- .../containers/docker-ubuntu-oneapi-impi.yaml | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index 468c77957..640acd62d 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -1,20 +1,3 @@ -###### DO NOT SUBMIT THIS BLOCK ##### -## Intel packages -# intel-oneapi-compiler-dpcpp-cpp-2024.2 \ -# intel-oneapi-compiler-fortran-2024.2 \ -# intel-oneapi-mpi-devel-2021.13 \ -# intel-oneapi-tbb-devel-2021.13 \ -# intel-oneapi-mkl-devel-2024.2 -# -# -## Versions reported by apt cache policy -# compiler - 2024.2.1 -# fortran 2024.2.1 -# mpi - 2021.13.1 -# tbb - 2021.13.1 -# mkl - 2024.2.2 -#### /end DNS ######################## - spack: concretizer: unify: true @@ -270,9 +253,12 @@ spack: echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ apt update && \ apt install intel-oneapi-compiler-dpcpp-cpp-2024.2 intel-oneapi-compiler-fortran-2024.2 intel-oneapi-mpi-devel-2021.13 intel-oneapi-tbb-devel-2021.13 intel-oneapi-mkl-devel-2024.2 -y && \ - #ln -s /opt/intel/oneapi/mpi/2021.13 /opt/intel/oneapi/mpi/2021.13.1 && \ - #ln -s /opt/intel/oneapi/mkl/2024.2 /opt/intel/oneapi/mkl/2024.2.2 && \ - #ln -s /opt/intel/oneapi/compiler/2024.2 /opt/intel/oneapi/compiler/2024.2.1 && \ + # Intel package versions reported by apt cache policy + # compiler - 2024.2.1 + # fortran - 2024.2.1 + # mpi - 2021.13.1 + # tbb - 2021.13.1 + # mkl - 2024.2.2 update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 && \ @@ -331,4 +317,4 @@ spack: # Labels for the image labels: app: "" - mpi: "intel-llvm-oneapi-mpi" + mpi: "intel-oneapi-mpi" From 08f7518202c1980ac8df130cc88237de3320b8b0 Mon Sep 17 00:00:00 2001 From: Evan Parker Date: Tue, 24 Dec 2024 05:51:05 +0000 Subject: [PATCH 10/11] Switch from ifx to ifort --- .../containers/docker-ubuntu-oneapi-impi.yaml | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index 640acd62d..5aec25af1 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -26,10 +26,10 @@ spack: paths: cc: /opt/intel/oneapi/compiler/2024.2/bin/icx cxx: /opt/intel/oneapi/compiler/2024.2/bin/icpx - f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx - fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx - #f77: /opt/intel/oneapi/compiler/2024.2/bin/ifort - #fc: /opt/intel/oneapi/compiler/2024.2/bin/ifort + #f77: /opt/intel/oneapi/compiler/2024.2/bin/ifx + #fc: /opt/intel/oneapi/compiler/2024.2/bin/ifx + f77: /opt/intel/oneapi/compiler/2024.2/bin/ifort + fc: /opt/intel/oneapi/compiler/2024.2/bin/ifort flags: {} operating_system: ubuntu24.04 target: x86_64 @@ -272,7 +272,7 @@ spack: ENV TZ=Etc/UTC ENV CC=icx ENV CXX=icpx - ENV FC=ifx + ENV FC=ifort build: | # Put output of spack find into a file RUN cd /opt/spack-environment && \ @@ -297,22 +297,17 @@ spack: COPY --from=builder /root/spack_find.out /root/spack_find.out # Make a non-root user:nonroot / group:nonroot for running MPI RUN useradd -U -k /etc/skel -s /bin/bash -d /home/nonroot -m nonroot --uid 43891 && \ - echo "ulimit -s unlimited" >> /home/nonroot/.bashrc && \ - echo "ulimit -v unlimited" >> /home/nonroot/.bashrc && \ - echo "export CC=icx" >> /home/nonroot/.bashrc && \ - echo "export CXX=icpx" >> /home/nonroot/.bashrc && \ - echo "export FC=ifx" >> /home/nonroot/.bashrc && \ echo "source /opt/intel/oneapi/setvars.sh" >> /etc/bash.bashrc && \ + echo "ulimit -s unlimited" >> /etc/bash.bashrc && \ + echo "ulimit -v unlimited" >> /etc/bash.bashrc && \ + echo "export CC=icx" >> /etc/bash.bashrc && \ + echo "export CXX=icpx" >> /etc/bash.bashrc && \ + echo "export FC=ifort" >> /etc/bash.bashrc && \ + echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/oneapi-*/jedi-cmake-*)" >> /etc/bash.bashrc && \ + printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig && \ + # Replicate gitconfig for nonroot user. printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ chown -R nonroot:nonroot /home/nonroot/.gitconfig - # Replicate settings for root user - RUN echo "ulimit -s unlimited" >> /root/.bashrc && \ - echo "ulimit -v unlimited" >> /root/.bashrc && \ - echo "export CC=icx" >> /root/.bashrc && \ - echo "export CXX=icpx" >> /root/.bashrc && \ - echo "export FC=ifx" >> /root/.bashrc && \ - echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-ubuntu*/oneapi-*/jedi-cmake-*)" >> /root/.bashrc && \ - printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig # Labels for the image labels: From fdaf01ca8e940bdfe60285fa69b072a36bf31c6e Mon Sep 17 00:00:00 2001 From: Evan Parker Date: Mon, 30 Dec 2024 23:07:57 +0000 Subject: [PATCH 11/11] add ectrans variant to old intel --- configs/containers/docker-ubuntu-intel-impi.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/containers/docker-ubuntu-intel-impi.yaml b/configs/containers/docker-ubuntu-intel-impi.yaml index c2a418083..1cbdd9620 100644 --- a/configs/containers/docker-ubuntu-intel-impi.yaml +++ b/configs/containers/docker-ubuntu-intel-impi.yaml @@ -87,6 +87,9 @@ spack: ecflow: require: - '%gcc' + ectrans: + require: + - '+mkl ~fftw' findutils: externals: - spec: findutils@4.8.0