mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-29 06:35:28 -04:00
Add Cray psmp H100 tester (#4868)
This commit is contained in:
parent
bec65495dc
commit
65c71bef51
4 changed files with 83 additions and 1 deletions
59
ci/cscs_daint_spack_psmp_h100.yaml
Normal file
59
ci/cscs_daint_spack_psmp_h100.yaml
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
include:
|
||||
- remote: 'https://gitlab.com/cscs-ci/recipes/-/raw/master/templates/v2/.ci-ext.yml'
|
||||
|
||||
stages:
|
||||
- deps
|
||||
- cp2k
|
||||
|
||||
variables:
|
||||
REPOSITORY: cp2k_daint
|
||||
BUILDER: spack
|
||||
VERSION: psmp
|
||||
TAG: "${BUILDER}_${VERSION}"
|
||||
UBUNTU_IMAGE_NAME: "nvidia/cuda:12.4.1-devel-ubuntu22.04"
|
||||
CSCS_IMAGE_NAME: "${CSCS_REGISTRY_PATH}/${REPOSITORY}:${TAG}_${CI_COMMIT_SHORT_SHA}"
|
||||
DOCKERHUB_IMAGE_NAME: "docker.io/${DOCKERHUB_USERNAME}/${REPOSITORY}:${TAG}"
|
||||
|
||||
build deps daint:
|
||||
extends: .container-builder-cscs-gh200
|
||||
stage: deps
|
||||
timeout: 1h
|
||||
before_script:
|
||||
- DEPS_IMAGE_TAG=`cat ci/cscs_daint_${TAG}.yaml ci/docker/build_${CI_JOB_STAGE}_${BUILDER}.Dockerfile $(find tools/spack -type f) $(find cmake -type f) | sha256sum - | head -c 16`
|
||||
- export PERSIST_IMAGE_NAME=${CSCS_REGISTRY_PATH}/base/${REPOSITORY}:${TAG}_${DEPS_IMAGE_TAG}
|
||||
- echo "DEPS_IMAGE_NAME=${PERSIST_IMAGE_NAME}" | tee build.env
|
||||
artifacts:
|
||||
reports:
|
||||
dotenv: build.env
|
||||
variables:
|
||||
DOCKER_BUILD_ARGS: '[
|
||||
"BASE_IMAGE",
|
||||
"CP2K_VERSION",
|
||||
"FEATURE_FLAGS"
|
||||
]'
|
||||
DOCKERFILE: ci/docker/build_${CI_JOB_STAGE}_${BUILDER}.Dockerfile
|
||||
BASE_IMAGE: ${UBUNTU_IMAGE_NAME}
|
||||
CP2K_VERSION: ${VERSION}
|
||||
FEATURE_FLAGS: "-gpu H100 -df all""
|
||||
|
||||
build cp2k daint:
|
||||
extends: .container-builder-cscs-gh200
|
||||
stage: cp2k
|
||||
needs: ["build deps daint"]
|
||||
timeout: 1h
|
||||
before_script:
|
||||
- echo ${DOCKERHUB_TOKEN} | podman login docker.io --username ${DOCKERHUB_USERNAME} --password-stdin
|
||||
after_script:
|
||||
- podman images
|
||||
- podman push ${PERSIST_IMAGE_NAME} ${DOCKERHUB_IMAGE_NAME}
|
||||
variables:
|
||||
DOCKER_BUILD_ARGS: '[
|
||||
"BASE_IMAGE",
|
||||
"DEPS_IMAGE",
|
||||
"FEATURE_FLAGS"
|
||||
]'
|
||||
DOCKERFILE: ci/docker/build_${CI_JOB_STAGE}_${BUILDER}.Dockerfile
|
||||
BASE_IMAGE: ${UBUNTU_IMAGE_NAME}
|
||||
DEPS_IMAGE: ${DEPS_IMAGE_NAME}
|
||||
FEATURE_FLAGS: "-gpu H100 -df all"
|
||||
PERSIST_IMAGE_NAME: ${CSCS_IMAGE_NAME}
|
||||
11
make_cp2k.sh
11
make_cp2k.sh
|
|
@ -569,6 +569,7 @@ echo "INSTALL_MESSAGE = ${INSTALL_MESSAGE}"
|
|||
echo "IN_CONTAINER = ${IN_CONTAINER}"
|
||||
echo "MPI_MODE = ${MPI_MODE}"
|
||||
echo "NUM_PROCS = ${NUM_PROCS} (processes)"
|
||||
echo "Physical cores = $(lscpu -p=Core,Socket | grep -v '#' | sort -u | wc -l) (host view)"
|
||||
echo "REBUILD_CP2K = ${REBUILD_CP2K}"
|
||||
echo "RUN_TEST = ${RUN_TEST}"
|
||||
if [[ "${RUN_TEST}" == "yes" ]]; then
|
||||
|
|
@ -636,7 +637,8 @@ if ((CUDA_ARCH > 0)); then
|
|||
# Check if the selected CUDA arch is valid when the nvidia-smi command is available
|
||||
if command -v nvidia-smi &> /dev/null; then
|
||||
nvidia-smi
|
||||
HOST_CUDA_ARCH=$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader | awk '{print 10*$1}')
|
||||
CUDA_VERSION=$(nvidia-smi | grep "CUDA Version:" | awk '{print $9}')
|
||||
HOST_CUDA_ARCH=$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader | tail -n 1 | awk '{print 10*$1}')
|
||||
if ((CUDA_ARCH > HOST_CUDA_ARCH)); then
|
||||
echo "ERROR: The requested CUDA arch (${CUDA_ARCH}) is larger than the maximum"
|
||||
echo " CUDA arch (${HOST_CUDA_ARCH}) supported by the host system"
|
||||
|
|
@ -657,6 +659,7 @@ if ((CUDA_ARCH > 0)); then
|
|||
CMAKE_CUDA_FLAGS="$(printf '%s\n' "${out[*]}")"
|
||||
echo "CMAKE_CUDA_FLAGS = ${CMAKE_CUDA_FLAGS}"
|
||||
[[ -n "${CUDA_VERSION:-}" ]] && echo "CUDA_VERSION = ${CUDA_VERSION}"
|
||||
[[ -n "${CUDA_HOME:-}" ]] && echo "CUDA_HOME = ${CUDA_HOME}"
|
||||
echo ""
|
||||
else
|
||||
CMAKE_CUDA_FLAGS="-DCP2K_USE_ACCEL=OFF"
|
||||
|
|
@ -814,6 +817,12 @@ if [[ ! -d "${SPACK_BUILD_PATH}" ]]; then
|
|||
# Activate CUDA in the spack configuration file if requested
|
||||
if ((CUDA_ARCH > 0)); then
|
||||
sed -E -e "0,/~cuda/s//+cuda cuda_arch=${CUDA_ARCH}/" -i "${CP2K_CONFIG_FILE}"
|
||||
if [[ -n "${CUDA_VERSION:-}" ]]; then
|
||||
sed -E -e "s/spec:\s+cuda@[.0-9]*/spec: cuda@${CUDA_VERSION}/" -i "${CP2K_CONFIG_FILE}"
|
||||
fi
|
||||
if [[ -n "${CUDA_HOME:-}" ]]; then
|
||||
sed -E -e "s|prefix: /usr/local/cuda|prefix: ${CUDA_HOME}|" -i "${CP2K_CONFIG_FILE}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Apply Cray specific adaptation of the spack configuration if requested (CSCS)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,13 @@ host: Alps Daint (CSCS)
|
|||
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_cscs-daint-psmp_report.txt
|
||||
info_url: https://gitlab.com/cscs-ci/ci-testing/webhook-ci/mirrors/3546923033037693/3295760759903023/-/pipelines
|
||||
|
||||
[cscs-daint-psmp-h100]
|
||||
sortkey: 121
|
||||
name: CSCS Daint (psmp, H100)
|
||||
host: Alps Daint (CSCS)
|
||||
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_cscs-daint-psmp-h100_report.txt
|
||||
info_url: https://gitlab.com/cscs-ci/ci-testing/webhook-ci/mirrors/3546923033037693/3295760759903023/-/pipelines
|
||||
|
||||
[cscs-eiger-ssmp]
|
||||
sortkey: 201
|
||||
name: CSCS Eiger (ssmp)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,13 @@ tags: daily
|
|||
cpu: 0.1
|
||||
nodepools: default-pool
|
||||
|
||||
[cscs-daint-psmp-h100]
|
||||
display_name: CSCS Daint (psmp, H100)
|
||||
cscs_pipeline: daint-spack-psmp-h100
|
||||
tags: daily
|
||||
cpu: 0.1
|
||||
nodepools: default-pool
|
||||
|
||||
[cscs-eiger-ssmp]
|
||||
display_name: CSCS Eiger (ssmp)
|
||||
cscs_pipeline: eiger-spack-ssmp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue