-
Notifications
You must be signed in to change notification settings - Fork 128
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
1 parent
189f384
commit b55634a
Showing
7 changed files
with
319 additions
and
6 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 |
---|---|---|
@@ -0,0 +1,61 @@ | ||
##============================================================================ | ||
## Copyright (c) Kitware, Inc. | ||
## All rights reserved. | ||
## See LICENSE.txt for details. | ||
## | ||
## This software is distributed WITHOUT ANY WARRANTY; without even | ||
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | ||
## PURPOSE. See the above copyright notice for more information. | ||
##============================================================================ | ||
|
||
cmake_minimum_required(VERSION 3.0 FATAL_ERROR) | ||
|
||
set(version 4.6.1) | ||
set(arch x86_64) | ||
|
||
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") | ||
set(sha256sum da1e1781bc1c4b019216fa16391af3e1daaee7e7f49a8ec9b0cdc8a1d05c50e2) | ||
set(base_url https://github.com/ccache/ccache/releases/download) | ||
set(platform linux) | ||
set(extension tar.xz) | ||
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") | ||
set(sha256sum 3e36ba8c80fbf7f2b95fe0227b9dd1ca6143d721aab052caf0d5729769138059) | ||
set(full_url https://gitlab.kitware.com/utils/ci-utilities/-/package_files/534/download) | ||
set(filename ccache) | ||
set(extension tar.gz) | ||
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") | ||
set(sha256sum a6c6311973aa3d2aae22424895f2f968e5d661be003b25f1bd854a5c0cd57563) | ||
set(base_url https://github.com/ccache/ccache/releases/download) | ||
set(platform windows) | ||
set(extension zip) | ||
else() | ||
message(FATAL_ERROR "Unrecognized platform ${CMAKE_HOST_SYSTEM_NAME}") | ||
endif() | ||
|
||
if(NOT DEFINED filename) | ||
set(filename "ccache-${version}-${platform}-${arch}") | ||
endif() | ||
|
||
set(tarball "${filename}.${extension}") | ||
|
||
if(NOT DEFINED full_url) | ||
set(full_url "${base_url}/v${version}/${tarball}") | ||
endif() | ||
|
||
file(DOWNLOAD | ||
"${full_url}" $ENV{CCACHE_INSTALL_DIR}/${tarball} | ||
EXPECTED_HASH SHA256=${sha256sum} | ||
SHOW_PROGRESS | ||
) | ||
|
||
execute_process( | ||
COMMAND ${CMAKE_COMMAND} -E tar xf ${tarball} | ||
WORKING_DIRECTORY $ENV{CCACHE_INSTALL_DIR} | ||
RESULT_VARIABLE extract_results | ||
) | ||
|
||
if(extract_results) | ||
message(FATAL_ERROR "Extracting `${tarball}` failed: ${extract_results}.") | ||
endif() | ||
|
||
file(RENAME $ENV{CCACHE_INSTALL_DIR}/${filename} $ENV{CCACHE_INSTALL_DIR}/ccache) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
# Ad-hoc build that runs in the ECP Hardware, concretely in OLCF Crusher. | ||
|
||
stages: | ||
- pre | ||
- setup | ||
- build | ||
- post | ||
|
||
.setup_env_ecpci: &setup_env_ecpci | | ||
module purge | ||
module load ${JOB_MODULES} | ||
module list | ||
export PATH="${CCACHE_INSTALL_DIR}/ccache:$PATH" | ||
|
||
.install_ccache: &install_ccache | | ||
mkdir -p "$CCACHE_INSTALL_DIR" | ||
cmake --version | ||
cmake -VV -P .gitlab/ccache.cmake | ||
ccache -z | ||
ccache -s | ||
|
||
.crusher-common: | ||
except: | ||
- schedules | ||
interruptible: true | ||
variables: | ||
CCACHE_BASEDIR: "/lustre/orion/csc303/scratch/" | ||
CCACHE_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/ccache" | ||
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime" | ||
|
||
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it | ||
CCACHE_IGNOREOPTIONS: "-isystem=*" | ||
CCACHE_NOHASHDIR: "true" | ||
CCACHE_INSTALL_DIR: "$CI_PROJECT_DIR/deps/ccache_install" | ||
|
||
CMAKE_BUILD_TYPE: "RelWithDebInfo" | ||
CMAKE_GENERATOR: "Ninja" | ||
CMAKE_PREFIX_PATH: "$CI_PROJECT_DIR/deps/kokkos_install" | ||
|
||
# We do not want to use the user's ~/.gitconfig | ||
GIT_CONFIG_GLOBAL: "true" | ||
GITLAB_SITE: "OLCF Crusher" | ||
CI_BIN_DIR: "$CI_PROJECT_DIR/build" | ||
|
||
.setup-common: | ||
stage: setup | ||
tags: [crusher, shell] | ||
before_script: | ||
- *setup_env_ecpci | ||
- *install_ccache | ||
script: | ||
- bash scripts/ci/gitlab-ci/run.sh update | ||
artifacts: | ||
expire_in: 24 hours | ||
when: always | ||
paths: | ||
- deps/*install/ | ||
- build/ | ||
|
||
.build-common: | ||
stage: build | ||
tags: [crusher, slurm] | ||
variables: | ||
SCHEDULER_PARAMETERS: "-ACSC303_crusher -t30 --nice=0 -c32 --gpus=4 -N 1" | ||
before_script: | ||
- *setup_env_ecpci | ||
script: | ||
- bash scripts/ci/gitlab-ci/run.sh configure | ||
- bash scripts/ci/gitlab-ci/run.sh build | ||
- bash scripts/ci/gitlab-ci/run.sh test | ||
after_script: | ||
- *setup_env_ecpci | ||
- bash scripts/ci/gitlab-ci/run.sh submit | ||
- ccache -s | ||
|
||
.kokkos-hip-common: | ||
variables: | ||
# Order matters | ||
JOB_MODULES: >- | ||
craype-accel-amd-gfx90a | ||
gcc/12 | ||
cmake | ||
rocm/5.4.3 | ||
git | ||
ninja | ||
libffi | ||
hdf5 | ||
zstd | ||
setup:crusher-kokkos-hip: | ||
variables: | ||
KOKKOS_OPTS: >- | ||
-DCMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/deps/kokkos_install | ||
-DCMAKE_CXX_COMPILER:FILEPATH=/opt/rocm-5.4.3/hip/bin/hipcc | ||
-DKokkos_ARCH_VEGA90A:BOOL=ON | ||
-DKokkos_ENABLE_HIP:BOOL=ON | ||
-DKokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE:BOOL=OFF | ||
-DKokkos_ENABLE_SERIAL:BOOL=ON | ||
extends: | ||
- .crusher-common | ||
- .setup-common | ||
- .kokkos-hip-common | ||
before_script: | ||
- *setup_env_ecpci | ||
- *install_ccache | ||
- .gitlab/kokkos.sh "$CI_PROJECT_DIR/deps" "3.7.01" $KOKKOS_OPTS | ||
|
||
build:crusher-kokkos-hip: | ||
extends: | ||
- .crusher-common | ||
- .build-common | ||
- .kokkos-hip-common | ||
before_script: | ||
- *setup_env_ecpci | ||
needs: | ||
- setup:crusher-kokkos-hip | ||
dependencies: | ||
- setup:crusher-kokkos-hip | ||
|
||
.cray-common: | ||
variables: | ||
# Order matters | ||
JOB_MODULES: >- | ||
PrgEnv-cray | ||
cmake | ||
git | ||
ninja | ||
libffi | ||
zstd | ||
DefApps | ||
extends: | ||
- .crusher-common | ||
|
||
setup:crusher-cray: | ||
extends: | ||
- .setup-common | ||
- .cray-common | ||
|
||
build:crusher-cray: | ||
extends: | ||
- .build-common | ||
- .cray-common | ||
needs: | ||
- setup:crusher-cray | ||
dependencies: | ||
- setup:crusher-cray | ||
|
||
.report-status: | ||
tags: [crusher, shell] | ||
variables: | ||
STATUS_PROJECT: ornladios/ADIOS2 | ||
STATUS_NAME: OLCF Crusher (Frontier) | ||
script: > | ||
curl -X POST -H @${GITHUB_CURL_HEADERS} | ||
"https://api.github.com/repos/${STATUS_PROJECT}/statuses/${CI_COMMIT_SHA}" | ||
-d "{\"state\":\"${CI_JOB_NAME}\", \"context\":\"${STATUS_NAME}\",\"target_url\":\"${CI_PIPELINE_URL}\"}" | ||
environment: | ||
name: reporting-github | ||
|
||
pending: | ||
stage: pre | ||
extends: | ||
- .report-status | ||
success: | ||
stage: post | ||
extends: | ||
- .report-status | ||
rules: | ||
- when: on_success | ||
dependencies: | ||
- build:crusher-kokkos-hip | ||
- build:crusher-cray | ||
failure: | ||
stage: post | ||
extends: | ||
- .report-status | ||
rules: | ||
- when: on_failure | ||
dependencies: | ||
- build:crusher-kokkos-hip | ||
- build:crusher-cray |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Client maintainer: vicente.bolea@kitware.com | ||
|
||
set(ENV{CC} craycc) | ||
set(ENV{CXX} craycxx) | ||
|
||
set(dashboard_cache " | ||
ADIOS2_USE_BZip2:BOOL=OFF | ||
ADIOS2_USE_DataMan:BOOL=ON | ||
ADIOS2_USE_Fortran:BOOL=OFF | ||
ADIOS2_USE_MPI:BOOL=OFF | ||
ADIOS2_USE_HDF5:BOOL=OFF | ||
ADIOS2_USE_PNG:BOOL=OFF | ||
ADIOS2_USE_Python:BOOL=OFF | ||
ADIOS2_USE_SST:BOOL=ON | ||
ADIOS2_USE_ZeroMQ:STRING=OFF | ||
ADIOS2_USE_ZFP:BOOL=OFF | ||
ADIOS2_USE_SZ:BOOL=OFF | ||
ADIOS2_USE_Blosc:BOOL=OFF | ||
CMAKE_C_COMPILER_LAUNCHER=ccache | ||
CMAKE_CXX_COMPILER_LAUNCHER=ccache | ||
CMAKE_DISABLE_FIND_PACKAGE_BISON=ON | ||
CMAKE_DISABLE_FIND_PACKAGE_FLEX=ON | ||
") | ||
|
||
set(CTEST_TEST_ARGS | ||
PARALLEL_LEVEL 8 | ||
EXCLUDE "Install.*|Engine.Staging.TestThreads.*" | ||
) | ||
set(CTEST_CMAKE_GENERATOR "Ninja") | ||
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") | ||
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) |
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,31 @@ | ||
# Client maintainer: vicente.bolea@kitware.com | ||
|
||
set(ENV{CC} gcc) | ||
set(ENV{CXX} g++) | ||
set(ENV{FC} gfortran) | ||
|
||
set(dashboard_cache " | ||
ADIOS2_USE_BZip2:BOOL=OFF | ||
ADIOS2_USE_DataMan:BOOL=ON | ||
ADIOS2_USE_Fortran:BOOL=OFF | ||
ADIOS2_USE_MPI:BOOL=OFF | ||
ADIOS2_USE_HDF5:BOOL=OFF | ||
ADIOS2_USE_PNG:BOOL=OFF | ||
ADIOS2_USE_Python:BOOL=OFF | ||
ADIOS2_USE_SST:BOOL=ON | ||
ADIOS2_USE_Kokkos=ON | ||
CMAKE_C_COMPILER_LAUNCHER=ccache | ||
CMAKE_CXX_COMPILER_LAUNCHER=ccache | ||
CMAKE_CUDA_COMPILER_LAUNCHER=ccache | ||
CMAKE_DISABLE_FIND_PACKAGE_BISON=ON | ||
CMAKE_DISABLE_FIND_PACKAGE_FLEX=ON | ||
") | ||
|
||
set(CTEST_TEST_ARGS | ||
PARALLEL_LEVEL 8 | ||
EXCLUDE "Install.*|Engine.Staging.TestThreads.*" | ||
) | ||
set(CTEST_CMAKE_GENERATOR "Ninja") | ||
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") | ||
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) |
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