-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
293 additions
and
90 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
include: | ||
- local: 'ci/cpu/asan_ubsan_lsan.yml' | ||
- local: 'ci/cpu/clang15_release_cxx20.yml' | ||
- local: 'ci/cpu/clang15_release_stdexec.yml' | ||
- local: 'ci/cpu/clang15_release.yml' | ||
- local: 'ci/cpu/clang16_release.yml' | ||
- local: 'ci/cpu/clang18_release.yml' | ||
- local: 'ci/cpu/gcc11_release_stdexec.yml' | ||
- local: 'ci/cpu/gcc11_debug_stdexec.yml' | ||
- local: 'ci/cpu/gcc12_release_cxx20.yml' | ||
- local: 'ci/cpu/gcc13_codecov.yml' | ||
- local: 'ci/cpu/gcc13_release.yml' | ||
- local: 'ci/cuda/gcc11_release.yml' | ||
- local: 'ci/cuda/gcc11_release_scalapack.yml' | ||
- local: 'ci/cuda/gcc11_codecov.yml' | ||
- local: 'ci/cuda/gcc11_debug_scalapack.yml' | ||
- local: 'ci/cuda/gcc13_release_stdexec.yml' | ||
- local: 'ci/rocm/clang14_release.yml' | ||
- local: 'ci/rocm/clang14_release_stdexec.yml' | ||
- local: 'ci/rocm/clang15_release_stdexec.yml' | ||
# - local: 'ci/cpu/asan_ubsan_lsan.yml' | ||
# - local: 'ci/cpu/clang15_release_cxx20.yml' | ||
# - local: 'ci/cpu/clang15_release_stdexec.yml' | ||
# - local: 'ci/cpu/clang15_release.yml' | ||
# - local: 'ci/cpu/clang16_release.yml' | ||
# - local: 'ci/cpu/clang18_release.yml' | ||
# - local: 'ci/cpu/gcc11_release_stdexec.yml' | ||
# - local: 'ci/cpu/gcc11_debug_stdexec.yml' | ||
# - local: 'ci/cpu/gcc12_release_cxx20.yml' | ||
# - local: 'ci/cpu/gcc13_codecov.yml' | ||
# - local: 'ci/cpu/gcc13_release.yml' | ||
- local: 'ci/cuda/gcc13_release.yml' | ||
# - local: 'ci/cuda/gcc11_release_scalapack.yml' | ||
# - local: 'ci/cuda/gcc11_codecov.yml' | ||
# - local: 'ci/cuda/gcc11_debug_scalapack.yml' | ||
# - local: 'ci/cuda/gcc13_release_stdexec.yml' | ||
# - local: 'ci/rocm/clang14_release.yml' | ||
# - local: 'ci/rocm/clang14_release_stdexec.yml' | ||
# - local: 'ci/rocm/clang15_release_stdexec.yml' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
include: | ||
- local: 'ci/common-ci.yml' | ||
|
||
cuda gcc13 release deps: | ||
extends: .build_deps_common_gh200 | ||
variables: | ||
DOCKERFILE: ci/docker/build-craympich.Dockerfile | ||
BASE_IMAGE: $CSCS_REGISTRY_PATH/base-images/cuda_12.6.1-devel-ubuntu24.04:v1 | ||
COMPILER: gcc@13 | ||
SPACK_ENVIRONMENT: ci/docker/release-cuda-gh200.yaml | ||
DEPS_IMAGE: $CSCS_REGISTRY_PATH/cuda-gh200-gcc13-release/deps | ||
|
||
cuda gcc13 release build: | ||
extends: | ||
- .build_common_gh200 | ||
- .build_for_alps_gh200 | ||
needs: | ||
- cuda gcc13 release deps | ||
variables: | ||
DLAF_IMAGE: $CSCS_REGISTRY_PATH/cuda-gh200-gcc13-release/dlaf:$CI_COMMIT_SHA | ||
|
||
cuda gcc13 release test: | ||
extends: .run_common | ||
needs: | ||
- cuda gcc13 release build | ||
trigger: | ||
include: | ||
- artifact: pipeline.yml | ||
job: cuda gcc13 release build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
ARG BASE_IMAGE=ubuntu:24.04 | ||
|
||
FROM $BASE_IMAGE | ||
|
||
# set jfrog autoclean policy | ||
LABEL com.jfrog.artifactory.retention.maxDays="21" | ||
|
||
ENV DEBIAN_FRONTEND=noninteractive \ | ||
PATH="$PATH:/opt/spack/bin" \ | ||
SPACK_COLOR=always | ||
|
||
# Overwrite entrypoint as NVIDIA images set a script that clog the output. | ||
ENTRYPOINT [] | ||
CMD [ "/bin/bash" ] | ||
SHELL ["/bin/bash", "-c"] | ||
|
||
ARG EXTRA_APTGET | ||
# python is needed for spack and fastcov | ||
# codecov upload needs curl + ca-certificates | ||
# glibc-tools is needed for libSegFault on ubuntu > 22.04 | ||
# jq, strace are needed for check-threads | ||
# tzdata is needed to print correct time | ||
RUN apt-get -yqq update && \ | ||
apt-get -yqq install --no-install-recommends \ | ||
software-properties-common \ | ||
build-essential gfortran \ | ||
autoconf automake libssl-dev ninja-build pkg-config \ | ||
gawk git tar \ | ||
wget curl ca-certificates gpg-agent tzdata \ | ||
python3 python3-setuptools \ | ||
glibc-tools jq strace \ | ||
patchelf unzip file gnupg2 libncurses-dev \ | ||
${EXTRA_APTGET} && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install MKL and remove static libs (to keep image smaller) | ||
ARG USE_MKL=ON | ||
ARG MKL_VERSION=2024.0 | ||
ARG MKL_SPEC=2024.0.0 | ||
RUN if [ "$USE_MKL" = "ON" ]; then \ | ||
wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB 2>/dev/null > /etc/apt/trusted.gpg.d/intel.asc && \ | ||
apt-add-repository 'deb https://apt.repos.intel.com/oneapi all main' && \ | ||
apt-get install -y -qq --no-install-recommends intel-oneapi-mkl-devel-${MKL_VERSION} && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
find "/opt/intel/oneapi" -name "*.a" -delete ; \ | ||
fi | ||
|
||
# This is the spack version we want to have | ||
ARG SPACK_SHA | ||
ENV SPACK_SHA=$SPACK_SHA | ||
|
||
# Install the specific ref of Spack provided by the user and find compilers | ||
RUN mkdir -p /opt/spack && \ | ||
curl -Ls "https://api.github.com/repos/spack/spack/tarball/$SPACK_SHA" | tar --strip-components=1 -xz -C /opt/spack | ||
|
||
# Find compilers + Add gfortran to clang specs + Define which compiler we want to use | ||
ARG COMPILER | ||
RUN spack compiler find && \ | ||
gawk -i inplace '$0 ~ "compiler:" {flag=0} $0 ~ "spec:.*clang" {flag=1} flag == 1 && $1 ~ "^f[c7]" && $2 ~ "null" {gsub("null","/usr/bin/gfortran",$0)} {print $0}' /root/.spack/linux/compilers.yaml && \ | ||
spack config add "packages:all:require:[\"%${COMPILER}\"]" | ||
|
||
RUN spack external find \ | ||
autoconf \ | ||
automake \ | ||
bzip2 \ | ||
cuda \ | ||
diffutils \ | ||
findutils \ | ||
git \ | ||
ninja \ | ||
m4 \ | ||
ncurses \ | ||
openssl \ | ||
perl \ | ||
pkg-config \ | ||
python \ | ||
xz && \ | ||
if [ "$USE_MKL" = "ON" ]; then \ | ||
echo -e " intel-oneapi-mkl:\n externals:\n - spec: \"intel-oneapi-mkl@$MKL_SPEC mpi_family=mpich\"\n prefix: /opt/intel/oneapi\n buildable: False" >> ~/.spack/packages.yaml ; \ | ||
fi | ||
|
||
# Add our custom spack repo from here | ||
ARG SPACK_DLAF_REPO | ||
COPY $SPACK_DLAF_REPO /user_repo | ||
|
||
RUN spack repo add --scope site /user_repo | ||
|
||
### Workaround until CE provides full MPI substitution. | ||
RUN spack repo add --scope site ~/site/repo | ||
|
||
# Set this to a spack.yaml file which contains a spec | ||
# e.g. --build-arg SPACK_ENVIRONMENT=ci/spack/my-env.yaml | ||
ARG SPACK_ENVIRONMENT | ||
ARG COMMON_SPACK_ENVIRONMENT | ||
ARG ENV_VIEW=/view | ||
|
||
# Build dependencies | ||
# 1. Create a spack environment named `ci` from the input spack.yaml file | ||
COPY $SPACK_ENVIRONMENT /spack_environment/spack.yaml | ||
COPY $COMMON_SPACK_ENVIRONMENT /spack_environment/ | ||
RUN spack env create --with-view ${ENV_VIEW} ci /spack_environment/spack.yaml | ||
# 2. Set the C++ standard | ||
ARG CXXSTD=17 | ||
RUN spack -e ci config add "packages:dla-future:variants:cxxstd=${CXXSTD}" | ||
# 3. Install only the dependencies of this (top level is our package) | ||
ARG NUM_PROCS | ||
RUN spack -e ci install --jobs ${NUM_PROCS} --fail-fast --only=dependencies | ||
|
||
# make ctest executable available. | ||
RUN ln -s `spack -e ci location -i cmake`/bin/ctest /usr/bin/ctest | ||
|
||
RUN echo ${ENV_VIEW}/lib > /etc/ld.so.conf.d/dlaf.conf && ldconfig |
Oops, something went wrong.