forked from NERSC/timemory
-
Notifications
You must be signed in to change notification settings - Fork 0
56 lines (55 loc) · 2.68 KB
/
continuous-integration.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: continuous-integration
on: [push, pull_request]
jobs:
maeve-ci:
continue-on-error: false
strategy:
max-parallel: 2
fail-fast: true
matrix:
include:
- build_type: 'Debug'
compiler: 'gcc-7'
standard: '17'
tools: 'dyninst mpip ncclp mallocp kokkos'
extra_args: '--coverage --minimal'
extra_cmake: ''
# compiler: ['gcc-6', 'gcc-7', 'gcc-8', 'gcc-9', 'gcc-10', 'clang-6.0', 'clang-7', 'clang-8', 'clang-9', 'clang-10', 'clang-11', 'clang-12']
build_type: ['Release']
compiler: ['gcc-9', 'clang-10', 'gcc-10', 'clang-11', 'clang-12']
standard: ['17']
tools: ['avail kokkos kokkos-config dyninst mpip ncclp mallocp compiler']
extra_args: ['--python --compile-time-perf build-ctp']
extra_cmake: ['-G Ninja']
runs-on: self-hosted
steps:
- name: Checkout Code
uses: actions/checkout@v2
with:
submodules: true
clean: true
- name: Build and Test
run: |
export CONTINUOUS_INTEGRATION=true
export CUDA_VISIBLE_DEVICES=2
git submodule update .
module load anaconda
module load likwid
if [ -n "$(echo ${{ matrix.compiler }} | grep 'clang')" ]; then module load cuda/10.0; CUDA_CLANG=1; else module load cuda; CUDA_CLANG=0; fi
module list
spack env activate timemory-ci
spack load dyninst boost
source activate
conda activate timemory
echo "python: $(which python)"
env
if [ -n "$(echo ${{ matrix.compiler }} | grep 'clang')" ]; then KOKKOS_SAMPLE=OFF; else KOKKOS_SAMPLE=ON; fi
if [ -z "$(echo ${LD_LIBRARY_PATH} | grep timemory-ci)" ]; then echo "Warning: incorrect LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}"; fi
BASE_ARGS="--papi --likwid --mpi --cuda --cupti --gotcha --caliper --extra-optimizations --tools ${{ matrix.tools }} -SF --pyctest-model=Continuous -j 6"
CTEST_ARGS="-V"
CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=${PWD}/install-timemory -DTIMEMORY_KOKKOS_BUILD_SAMPLE=${KOKKOS_SAMPLE} -DTIMEMORY_BUILD_CALIPER=OFF -DTIMEMORY_BUILD_GOTCHA=OFF ${{ matrix.extra_cmake }}"
export CC=${{ matrix.compiler }}
export CXX="$(echo '${{ matrix.compiler }}' | sed 's/gcc/g++/1' | sed 's/clang/clang++/1')"
if [ "${CUDA_CLANG}" -eq 1 ]; then export CUDACXX=${CXX}; fi
python ./pyctest-runner.py --cxx-standard=${{ matrix.standard }} --pyctest-build-type=${{ matrix.build_type }} ${{ matrix.extra_args }} ${BASE_ARGS} -- ${CTEST_ARGS} -- ${CMAKE_ARGS}
cmake --build build-timemory/Linux --target all --parallel 6