Skip to content

Commit

Permalink
adds CI job only for cmake configure with minimal cmake versions
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcelKoch committed Jan 26, 2024
1 parent aed0e93 commit 77a73e9
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 25 deletions.
22 changes: 22 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ stages:
- init-status
- sync
- trigger_pipeline
- configure
- build
- test
- code_quality
Expand Down Expand Up @@ -90,6 +91,27 @@ trigger_pipeline:
echo "Can not find the corresponding Pull Request"
fi
configure/cmake-3.16:
extends:
- .quick_test_conditions
- .configure_template
- .use_gko-rocm45-nompi-gnu8-llvm8
variables:
BUILD_CUDA: "OFF"
BUILD_HIP: "ON"
BUILD_SYCL: "OFF"
BUILD_MPI: "ON"

configure/cmake-3.18:
extends:
- .quick_test_conditions
- .configure_template
- .use_gko-cuda102-nompi-gnu8-llvm8-intel2019
variables:
BUILD_CUDA: "ON"
BUILD_HIP: "OFF"
BUILD_SYCL: "OFF"
BUILD_MPI: "OFF"

# Build jobs
# Job with example runs.
Expand Down
56 changes: 31 additions & 25 deletions .gitlab/scripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,42 @@
- git config --global user.name "${BOT_USER}"
- git config --global user.email "${BOT_EMAIL}"

.environment_script: &environment_script
- if [ -n "${CUDA_ARCH}" ]; then
export CUDA_ARCH_STR=-DGINKGO_CUDA_ARCHITECTURES=${CUDA_ARCH};
fi
- |
export OMPI_ALLOW_RUN_AS_ROOT=1;
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1;
- export CC=${C_COMPILER} CXX=${CXX_COMPILER} CUDAHOSTCXX=${CXX_COMPILER} CUDACXX=${CUDA_COMPILER}


.configure_template:
stage: configure
extends:
- .before_script_template
script:
- mkdir -p ${CI_JOB_NAME} && cd ${CI_JOB_NAME}
- *environment_script
- |
cmake -S .. -B . -DGINKGO_BUILD_REFERENCE=ON -DGINKGO_BUILD_OMP=ON \
-DGINKGO_BUILD_MPI=${BUILD_MPI} -DGINKGO_BUILD_CUDA=${BUILD_CUDA} \
-DGINKGO_BUILD_HIP=${BUILD_HIP} -DGINKGO_BUILD_SYCL=${BUILD_SYCL} \
-DGINKGO_MIXED_PRECISION=ON -DGINKGO_HAVE_GPU_AWARE_MPI=ON \
-DGINKGO_BUILD_TESTS=ON -DGINKGO_FAST_TESTS=ON -DGINKGO_BUILD_EXTLIB_EXAMPLE=OFF \
-DGINKGO_BUILD_BENCHMARKS=ON -DGINKGO_BENCHMARK_ENABLE_TUNING=ON \
-DGINKGO_DEVEL_TOOLS=ON -DGINKGO_WITH_CLANG_TIDY=OFF -DGINKGO_WITH_IWYU=OFF \
-DGINKGO_CHECK_CIRCULAR_DEPS=ON -DGINKGO_WITH_CCACHE=ON \
-DGINKGO_BUILD_PAPI_SDE=OFF -DGINKGO_BUILD_HWLOC=ON
dependencies: []

.build_template:
stage: build
extends:
- .before_script_template
script:
- mkdir -p ${CI_JOB_NAME} && cd ${CI_JOB_NAME}
- if [ -n "${CUDA_ARCH}" ]; then
export CUDA_ARCH_STR=-DGINKGO_CUDA_ARCHITECTURES=${CUDA_ARCH};
fi
- if [[ "${MPI_AS_ROOT}" == "ON" ]];then
export OMPI_ALLOW_RUN_AS_ROOT=1;
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1;
fi
- if [[ "${BUILD_MPI}" == "ON" ]]; then
MPI_STR=-DGINKGO_MPI_EXEC_SUFFIX=${MPI_SUFFIX};
fi
- export CC=${C_COMPILER} CXX=${CXX_COMPILER} CUDAHOSTCXX=${CXX_COMPILER} CUDACXX=${CUDA_COMPILER}
- *environment_script
- cmake -S ${CI_PROJECT_DIR}${CI_PROJECT_DIR_SUFFIX} -B . --preset ${CI_CMAKE_PRESET}
- ninja -j${NUM_CORES} -l${CI_LOAD_LIMIT} install
- awk '!/^#/ { print ($2 - $1)/1000 " " $4 }' .ninja_log | sort -nr
Expand All @@ -45,20 +64,7 @@
- .before_script_template
script:
- mkdir -p ${CI_JOB_NAME} && cd ${CI_JOB_NAME}
- if [ -n "${CUDA_ARCH}" ]; then
export CUDA_ARCH_STR=-DGINKGO_CUDA_ARCHITECTURES=${CUDA_ARCH};
fi
- if [ -n "${SYCL_DEVICE_TYPE}" ]; then export SYCL_DEVICE_TYPE; fi
- if [ -n "${SYCL_DEVICE_FILTER}" ]; then export SYCL_DEVICE_FILTER; fi
- if [ -n "${ONEAPI_DEVICE_SELECTOR}" ]; then export ONEAPI_DEVICE_SELECTOR; fi
- if [[ "${MPI_AS_ROOT}" == "ON" ]];then
export OMPI_ALLOW_RUN_AS_ROOT=1;
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1;
fi
- if [[ "${BUILD_MPI}" == "ON" ]]; then
MPI_STR=-DGINKGO_MPI_EXEC_SUFFIX=${MPI_SUFFIX};
fi
- export CC=${C_COMPILER} CXX=${CXX_COMPILER} CUDAHOSTCXX=${CXX_COMPILER} CUDACXX=${CUDA_COMPILER}
- *environment_script
- cmake -S ${CI_PROJECT_DIR}${CI_PROJECT_DIR_SUFFIX} -B . --preset ${CI_CMAKE_PRESET}
- ninja -j${NUM_CORES} -l${CI_LOAD_LIMIT} install
- awk '!/^#/ { print ($2 - $1)/1000 " " $4 }' .ninja_log | sort -nr
Expand Down

0 comments on commit 77a73e9

Please sign in to comment.