diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a32887e234458aa919503d93184bfe790a31321..901e1bd90f15832cc16933b49d59d60b0aac963e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,15 +19,16 @@ variables: TERM: ansi .parallel_definition: - image: registry.c4science.ch/scitas-stack/rhel:9.3 parallel: matrix: - environment: [jed] slurm_options: ["-c 72 -p jed -q jed"] stack: ["pinot-noir"] + app_image: ["registry.c4science.ch/scitas-stack/rhel9-kuma"] - environment: [helvetios] slurm_options: ["-c 36"] stack: ["pinot-noir"] + app_image: ["registry.c4science.ch/scitas-stack/rhel9-kuma"] # - environment: [izar] # slurm_options: ['-c 40 --gpus 2'] # apptainer_options: ['-nv'] @@ -45,7 +46,7 @@ variables: - stack variables: environment: ${environment} - + image: ${app_image} # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------ .parallel_job: diff --git a/ci/setup_spack.sh b/ci/setup_spack.sh index 1f1e2457bc944d365065c8fce1dea4285cb66b93..44570f047750cf11fed1a334f2afe56aa3a79ef8 100755 --- a/ci/setup_spack.sh +++ b/ci/setup_spack.sh @@ -25,7 +25,7 @@ mkdir -p ${SPACK_SYSTEM_CONFIG_PATH} EXTERNAL_REPOS=$(jq -r '.spack.repos | keys[]' ${STACK_CONFIG}) -for file in mirrors.yaml packages.yaml concretizer.yaml config.yaml spack.yaml +for file in mirrors.yaml packages.yaml concretizer.yaml config.yaml spack.yaml packages_stack.yaml do if [ -e "${STACK_CONFIG_PATH}/${file}" ]; then echo "Copying ${STACK_CONFIG_PATH}/${file} to ${SPACK_SYSTEM_CONFIG_PATH}" @@ -85,7 +85,7 @@ spack/bin/spack buildcache keys \ cp ${STACK_CONFIG_PATH}/packages_${environment}.yaml ${SPACK_SYSTEM_CONFIG_PATH}/packages_env.yaml -echo "packages:" > ${SPACK_SYSTEM_CONFIG_PATH}/packages_system.yaml +echo "packages:" > ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml export system_compiler=$(jq -Mrc ' .stack | .system_arch as $arch @@ -99,4 +99,4 @@ jq -Mrc ' .stack.system_packages | map(" \(.):\n require:\n - spec: \"%\(env.system_compiler)\"") | .[] -' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/packages_system.yaml +' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml diff --git a/dockerfiles/rhel9-kuma/Dockerfile b/dockerfiles/rhel9-kuma/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..78e581123a80cad3c2e7270064c9cf3fba465444 --- /dev/null +++ b/dockerfiles/rhel9-kuma/Dockerfile @@ -0,0 +1,40 @@ +FROM registry.c4science.ch/scitas-stack/rhel9-base:9.0 + +#dnf install epel-release +#dnf group install "Development Tools" +#dnf install curl findutils gcc-gfortran gnupg2 hostname iproute redhat-lsb-core python3 python3-pip python3-setuptools unzip python3-boto3 + +# spack dependencies +RUN yum install -y \ + gcc-g++ gcc-gfortran \ + patchelf findutils patch \ + xz bzip2 file gnupg2 hostname iproute unzip\ + python3 python3-pip python3-setuptools python3-boto3 \ + git subversion mercurial \ + jq \ + && yum -y clean all && rm -fr /var/cache + +# repos for kuma +ARG SLURM_REPO=SCITAS_product-slurm_repo-slurm-2311 +ARG MLNX_REPO=SCITAS_product-mlnx_repo-mlnx-ofed-24_01-0_3_3_1-5_14_0-70_30_1-rhel90 +ARG CUDA_REPO=SCITAS_product-cuda_repo-cuda-535_154_05-x86_64-rhel9 +ARG GPFS_REPO=SCITAS_product-gpfs_repo-gpfs-519 + +# stack dependencies +RUN yum install -y --enablerepo=$SLURM_REPO \ + slurm-devel pmix-devel \ + && yum -y clean all && rm -fr /var/cache + +RUN yum install -y --enablerepo=$MLNX_REPO \ + libibverbs libibverbs-utils \ + rdma-core rdma-core-devel \ + hcoll xpmem kmod-knem \ + && yum -y clean all && rm -fr /var/cache + +RUN yum install -y --enablerepo=$CUDA_REPO \ + nvidia-driver-devel \ + && yum -y clean all && rm -fr /var/cache + +RUN yum install -y --enablerepo=$GPFS_REPO \ + gpfs.base \ + && yum -y clean all && rm -fr /var/cache diff --git a/dockerfiles/rhel9/Dockerfile b/dockerfiles/rhel9/Dockerfile deleted file mode 100644 index e8e8254a10889cde3d33be8e5b3f4704a4ff7d2e..0000000000000000000000000000000000000000 --- a/dockerfiles/rhel9/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -FROM rhel/ubi9 - -ARG SPACK_VERSION=v0.21.1 - -ENV SPACK_DISABLE_LOCAL_CONFIG=true \ - SPACK_USER_CACHE_PATH=/tmp/spack-cache - -RUN echo "10.95.33.172 foreman1.hpc.epfl.ch" >> /etc/hosts -RUN curl -sS --insecure \ - 'https://foreman1.hpc.epfl.ch/register?activation_keys=ak-helvetios&organization_id=1&update_packages=false' \ - -H "Authorization: Bearer ${RHEL_TOKEN}" \ - | bash - - -#dnf install epel-release -#dnf group install "Development Tools" -#dnf install curl findutils gcc-gfortran gnupg2 hostname iproute redhat-lsb-core python3 python3-pip python3-setuptools unzip python3-boto3 - -RUN yum install gcc-g++ gcc-gfortran \ - patchelf findutils patch \ - xz bzip2 file gnupg2 hostname iproute unzip\ - python3 python3-pip python3-setuptools python3-boto3 - slurm slurm-libpmi pmix \ - libibverbs libibverbs-utils \ - rdma-core rdma-core-devel \ - git subversion mercurial \ - jq \ - -#RUN cd /opt && git clone https://github.com/spack/spack.git -b $SPACK_VERSION diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json index 112a075080cdcd1c4c282e57be2b17016f258ee2..bdc3901c64267099cc5878ef200fa9737754c990 100644 --- a/stacks/pinot-noir/config.json +++ b/stacks/pinot-noir/config.json @@ -80,7 +80,8 @@ "slurm", "sqlite", "texinfo", - "zlib-ng" + "zlib-ng", + "zstd" ] } } diff --git a/stacks/pinot-noir/packages.yaml b/stacks/pinot-noir/packages_stack.yaml similarity index 100% rename from stacks/pinot-noir/packages.yaml rename to stacks/pinot-noir/packages_stack.yaml diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml index b691dabf42267e4d334cac369faf12d2b7cb2e2e..df90faa8a85a9456ebc249f5b1d40460be34e563 100644 --- a/stacks/pinot-noir/spack.yaml +++ b/stacks/pinot-noir/spack.yaml @@ -1,8 +1,8 @@ spack: include: - compiler_definitions.yaml + - packages_stack.yaml - packages_env.yaml - - packages_system.yaml definitions: # ------------------------------------------------------------------------- # PE definition