Mentions légales du service

Skip to content
Snippets Groups Projects
Commit dcb38b66 authored by PRUVOST Florent's avatar PRUVOST Florent Committed by Mathieu Faverge
Browse files

ci: add test_starpu_cuda

parent 2d3b21e2
No related branches found
No related tags found
1 merge request!507ci: add test_starpu_cuda
...@@ -14,6 +14,7 @@ include: ...@@ -14,6 +14,7 @@ include:
- .gitlab/docker.yml - .gitlab/docker.yml
- .gitlab/build.yml - .gitlab/build.yml
- .gitlab/test_starpu.yml - .gitlab/test_starpu.yml
- .gitlab/test_starpu_plafrim.yml
- .gitlab/test_starpu_simgrid.yml - .gitlab/test_starpu_simgrid.yml
- .gitlab/test_parsec.yml - .gitlab/test_parsec.yml
- .gitlab/test_quark.yml - .gitlab/test_quark.yml
......
...@@ -59,7 +59,7 @@ case $SYSTEM in ...@@ -59,7 +59,7 @@ case $SYSTEM in
esac esac
# Compile # Compile
eval '${SCAN}cmake --build build-${VERSION} -j 4 > /dev/null' eval '${SCAN}cmake --build build-${VERSION} -j ${CMAKE_BUILD_PARALLEL_LEVEL} > /dev/null'
# Install # Install
cmake --install build-${VERSION} cmake --install build-${VERSION}
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
.build_script_common: .build_script_common:
stage: build stage: build
extends: .only-master-mr extends: .only-master-mr
variables:
CMAKE_BUILD_PARALLEL_LEVEL: 4
artifacts: artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week expire_in: 1 week
...@@ -10,6 +12,8 @@ ...@@ -10,6 +12,8 @@
.build_script_linux: .build_script_linux:
extends: .build_script_common extends: .build_script_common
variables:
SYSTEM: linux
script: script:
- bash .gitlab/build.sh | tee ${LOGNAME}.log - bash .gitlab/build.sh | tee ${LOGNAME}.log
...@@ -56,29 +60,31 @@ build_starpu: ...@@ -56,29 +60,31 @@ build_starpu:
.build_script_guix: .build_script_guix:
tags: ['plafrim'] tags: ['plafrim']
extends: .build_script_common extends: .build_script_common
variables:
SYSTEM: guix
CMAKE_BUILD_PARALLEL_LEVEL: 20
script: script:
- guix describe -f channels - guix describe -f channels
- guix shell --pure --preserve=SYSTEM --preserve=VERSION --preserve=LOGNAME --preserve=BUILD_OPTIONS - guix shell --pure --preserve=SYSTEM --preserve=VERSION --preserve=LOGNAME --preserve=BUILD_OPTIONS --preserve=CMAKE_BUILD_PARALLEL_LEVEL
-D chameleon-${GUIX_CHAMELEON_VARIANT} coreutils bash-minimal -- -D chameleon-${GPU_BACKEND} ${BLAS} coreutils bash-minimal --
bash .gitlab/build.sh | tee ${LOGNAME}.log bash .gitlab/build.sh | tee ${LOGNAME}.log
build_starpu_cuda: build_starpu_cuda:
extends: .build_script_guix extends: .build_script_guix
variables: variables:
SYSTEM: guix
VERSION: starpu_cuda VERSION: starpu_cuda
GUIX_CHAMELEON_VARIANT: cuda GPU_BACKEND: cuda
BLAS: "--with-input=openblas=intel-oneapi-mkl"
LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}" LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=ON -DBLA_VENDOR=OpenBLAS" BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DBLA_VENDOR=Intel10_64lp_seq"
build_starpu_hip: build_starpu_hip:
extends: .build_script_guix extends: .build_script_guix
variables: variables:
SYSTEM: guix
VERSION: starpu_hip VERSION: starpu_hip
GUIX_CHAMELEON_VARIANT: hip GPU_BACKEND: hip
LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}" LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
BUILD_OPTIONS: "-DCHAMELEON_USE_HIP_ROC=ON -DCHAMELEON_USE_MPI=ON -DBLA_VENDOR=OpenBLAS -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=gfortran" BUILD_OPTIONS: "-DCHAMELEON_USE_HIP_ROC=ON -DCHAMELEON_USE_MPI=OFF -DBLA_VENDOR=OpenBLAS -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=gfortran"
build_starpu_simgrid: build_starpu_simgrid:
extends: .build_script_linux extends: .build_script_linux
...@@ -97,11 +103,13 @@ build_starpu_macosx: ...@@ -97,11 +103,13 @@ build_starpu_macosx:
SYSTEM: macosx SYSTEM: macosx
VERSION: starpu VERSION: starpu
LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}" LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
CMAKE_BUILD_PARALLEL_LEVEL: 4
script: script:
- bash .gitlab/build.sh | tee ${LOGNAME}.log - bash .gitlab/build.sh | tee ${LOGNAME}.log
artifacts: artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week expire_in: 1 week
when: always
paths: paths:
- ${LOGNAME}.log - ${LOGNAME}.log
cache: cache:
...@@ -119,11 +127,13 @@ build_starpu_macosx: ...@@ -119,11 +127,13 @@ build_starpu_macosx:
MSYSTEM: UCRT64 MSYSTEM: UCRT64
VERSION: starpu VERSION: starpu
LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}" LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
CMAKE_BUILD_PARALLEL_LEVEL: 4
script: script:
- bash -lc .gitlab/build.sh | tee "$env:LOGNAME.log" - bash -lc .gitlab/build.sh | tee "$env:LOGNAME.log"
artifacts: artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week expire_in: 1 week
when: always
paths: paths:
- ${LOGNAME}.log - ${LOGNAME}.log
cache: cache:
......
...@@ -37,5 +37,6 @@ variables: ...@@ -37,5 +37,6 @@ variables:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week expire_in: 1 week
untracked: true untracked: true
when: always
reports: reports:
junit: ${LOGNAME}-junit.xml junit: ${LOGNAME}-junit.xml
#!/bin/bash
# sbatch.sh : submit slurm jobs and wait for completion before exiting
set -x
if [ $# -gt 0 ]
then
JOB_NAME=$1
fi
JOB_NAME=${JOB_NAME:-chameleon}
# to get kernels execution on both cpus and gpus
export STARPU_SCHED=random
# execution commands
sbatch --wait \
--job-name="$JOB_NAME" \
--output="$JOB_NAME.out" \
--nodes=1 \
--exclusive --ntasks-per-node=1 --threads-per-core=1 \
--constraint="$SLURM_CONSTRAINTS" \
--time=01:00:00 \
$(dirname "$0")/test.sh
# get the error code from the last command: sbatch --wait ...
err=$?
cat $JOB_NAME.out
# exit with error code from the guix command
exit $err
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
set -x set -x
......
--- ---
.test_starpu: .test_script_starpu:
extends: .test_script_linux extends: .test_script_linux
needs: [build_starpu] needs: [build_starpu]
variables: variables:
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
TESTS_RESTRICTION: "-R _${CATEGORY}_${PRECISION}|example -E sytrf|sysv" TESTS_RESTRICTION: "-R _${CATEGORY}_${PRECISION}|example -E sytrf|sysv"
test_starpu_master: test_starpu_master:
extends: .test_starpu extends: .test_script_starpu
rules: rules:
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^ci-.*$/) && $CI_PIPELINE_SOURCE != "schedule" - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^ci-.*$/) && $CI_PIPELINE_SOURCE != "schedule"
parallel: parallel:
...@@ -18,7 +18,7 @@ test_starpu_master: ...@@ -18,7 +18,7 @@ test_starpu_master:
CATEGORY: [shm, mpi] CATEGORY: [shm, mpi]
test_starpu_mr: test_starpu_mr:
extends: .test_starpu extends: .test_script_starpu
rules: rules:
- if: ($CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME !~ /^notest-.*$/) - if: ($CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME !~ /^notest-.*$/)
parallel: parallel:
...@@ -43,6 +43,7 @@ test_starpu_macosx: ...@@ -43,6 +43,7 @@ test_starpu_macosx:
artifacts: artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week expire_in: 1 week
when: always
paths: paths:
- ${LOGNAME}.log - ${LOGNAME}.log
reports: reports:
...@@ -69,6 +70,7 @@ test_starpu_macosx: ...@@ -69,6 +70,7 @@ test_starpu_macosx:
artifacts: artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week expire_in: 1 week
when: always
paths: paths:
- ${LOGNAME}.log - ${LOGNAME}.log
reports: reports:
......
---
.test_script_starpu_plafrim:
tags: ['plafrim']
stage: test
variables:
SYSTEM: guix
script:
- guix describe -f channels | tee guix-channels.scm
- guix shell --pure --preserve=SYSTEM --preserve=VERSION --preserve=LOGNAME --preserve=BUILD_OPTIONS --preserve=TESTS_RESTRICTION --preserve=SLURM_CONSTRAINTS --preserve=LD_PRELOAD
-D chameleon-${GPU_BACKEND} ${BLAS} slurm coreutils inetutils bash-minimal --
bash .gitlab/sbatch.sh ${LOGNAME} | tee ${LOGNAME}.log
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 1 week
when: always
paths:
- guix-channels.scm
- ${LOGNAME}.log
reports:
junit: ${LOGNAME}-junit.xml
.test_script_starpu_plafrim_cuda:
extends: .test_script_starpu_plafrim
needs: [build_starpu_cuda]
variables:
VERSION: starpu_cuda
GPU_BACKEND: cuda
BLAS: "--with-input=openblas=intel-oneapi-mkl"
LOGNAME: "chameleon-${SYSTEM}-${VERSION}"
BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DBLA_VENDOR=Intel10_64lp_seq"
SLURM_CONSTRAINTS: "sirocco"
LD_PRELOAD: "/usr/lib64/libcuda.so"
test_starpu_cuda_master:
extends: .test_script_starpu_plafrim_cuda
rules:
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^ci-.*$/) && $CI_PIPELINE_SOURCE != "schedule"
variables:
TESTS_RESTRICTION: "-R test_shm_gpu"
test_starpu_cuda_mr:
extends: .test_script_starpu_plafrim_cuda
rules:
- if: ($CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME !~ /^notest-.*$/)
variables:
TESTS_RESTRICTION: "-R test_shm_gpu_d|test_shm_gpu_c"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment