Skip to content

Commit 4bdfac1

Browse files
Merge pull request #62 from PrincetonUniversity/regression-testing
Regression testing
2 parents a1be04e + d0325be commit 4bdfac1

95 files changed

Lines changed: 1009 additions & 123 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
examples/homogeneous-medium-flat-topography/databases/database.bin filter=lfs diff=lfs merge=lfs -text
2+
tests/regression-tests/elastic_domain/cpu/databases/database.bin filter=lfs diff=lfs merge=lfs -text
3+
tests/regression-tests/elastic_domain/gpu/databases/database.bin filter=lfs diff=lfs merge=lfs -text

.github/workflows/compilation.yml

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Build
22

3-
on: [push, pull_request]
3+
on: [push]
44

55
jobs:
66
build-serial:
@@ -17,36 +17,3 @@ jobs:
1717
run: cmake -S . -B build
1818
- name: Build
1919
run: cmake --build build
20-
build-openmp:
21-
runs-on: ubuntu-latest
22-
steps:
23-
- name: Check GNU and Cmake versions
24-
run: gcc --version && cmake --version
25-
- name: Checkout repository
26-
uses: actions/checkout@v1
27-
- name: Get submodules
28-
run: git submodule init
29-
&& git submodule update
30-
- name: Configure OpenMP build
31-
run: cmake -S . -B build -DKokkos_ENABLE_OPENMP=ON
32-
- name: Build
33-
run: cmake --build build
34-
build-ampere80:
35-
runs-on: ubuntu-latest
36-
steps:
37-
- name: Check GNU and Cmake versions
38-
run: gcc --version && cmake --version
39-
- name: Install Cuda Toolkit
40-
uses: Jimver/cuda-toolkit@v0.2.8
41-
id: cuda-toolkit
42-
with:
43-
cuda: '11.7.0'
44-
- name: Checkout repository
45-
uses: actions/checkout@v1
46-
- name: Get submodules
47-
run: git submodule init
48-
&& git submodule update
49-
- name: Configure OPENMP & CUDA build
50-
run: cmake -S . -B build -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_AMPERE80=ON -DKokkos_ENABLE_CUDA_LAMBDA=ON -DKokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE=ON
51-
- name: Build
52-
run: cmake --build build

.github/workflows/unittests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Unittests
22

3-
on: [push, pull_request]
3+
on: [push]
44

55
jobs:
66
build-and-test:
@@ -18,5 +18,5 @@ jobs:
1818
- name: Build
1919
run: cmake --build build
2020
- name: Run all tests
21-
run: cd build/tests/unittests
21+
run: cd build/tests/unit-tests
2222
&& ctest

.gitignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
.vscode/
22
.DS_Store
3-
build/
3+
build*/*
44
_build/
55
_templates/
66
public/
77
firebase*.yml
88
*.out
99
debug.sh
1010
output.log
11-
run.sh
1211
results/
1312
timing.sh
1413
*.dat
1514
examples/*/*_config.yaml
15+
tests/regression-tests/*.yaml
16+
tests/regression-tests/*/cpu/*.yaml
17+
tests/regression-tests/*/gpu/*.yaml

.jenkins/compiler_checks.gvy

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
pipeline{
2+
agent {
3+
node {
4+
label 'della_rk9481'
5+
}
6+
}
7+
stages{
8+
stage( ' Load git modules ' ){
9+
steps {
10+
echo ' Getting git submodules '
11+
sh 'git submodule init'
12+
sh 'git submodule update'
13+
}
14+
}
15+
stage(' GNU Compilation Check '){
16+
matrix {
17+
axes {
18+
axis{
19+
name 'HostSpace'
20+
values 'SERIAL;-DKokkos_ENABLE_SERIAL=ON', 'OPENMP;-DKokkos_ENABLE_OPENMP=ON'
21+
}
22+
axis{
23+
name 'DeviceSpace'
24+
values 'NONE;-DKokkos_ENABLE_CUDA=OFF', 'CUDA_AMPERE80;-DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_AMPERE80=ON', 'CUDA_VOLTA70;-DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON', 'CUDA_PASCAL60;-DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_PASCAL60=ON'
25+
}
26+
}
27+
stages {
28+
stage ('Build and Clean '){
29+
environment {
30+
CUDA_MODULE='cudatoolkit/11.7'
31+
// CMAKE build flags
32+
CMAKE_HOST_NAME = """${sh(
33+
returnStdout: true,
34+
script: 'cut -d";" -f1 <<<"${HostSpace}"'
35+
).trim()}"""
36+
CMAKE_HOST_FLAGS = """${sh(
37+
returnStdout: true,
38+
script: 'cut -d";" -f2 <<<"${HostSpace}"'
39+
).trim()}"""
40+
CMAKE_DEVICE_NAME = """${sh(
41+
returnStdout: true,
42+
script: 'cut -d";" -f1 <<<"${DeviceSpace}"'
43+
).trim()}"""
44+
CMAKE_DEVICE_FLAGS = """${sh(
45+
returnStdout: true,
46+
script: 'cut -d";" -f2 <<<"${DeviceSpace}"'
47+
).trim()}"""
48+
}
49+
stages {
50+
stage (' Build '){
51+
steps {
52+
echo "Building ${CMAKE_HOST_FLAGS} ${CMAKE_DEVICE_FLAGS}"
53+
sh """
54+
module load ${CUDA_MODULE}
55+
cmake3 -S . -B build_GNU_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME} -DCMAKE_BUILD_TYPE=Release ${CMAKE_HOST_FLAGS} ${CMAKE_DEVICE_FLAGS}
56+
cmake3 --build build_GNU_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME}
57+
"""
58+
echo ' Build completed '
59+
}
60+
}
61+
stage (' Clean '){
62+
steps {
63+
echo ' Cleaning '
64+
sh "rm -rf build_GNU_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME}"
65+
}
66+
}
67+
}
68+
}
69+
}
70+
}
71+
}
72+
stage(' Intel Compilation Check '){
73+
matrix {
74+
axes {
75+
axis{
76+
name 'HostSpace'
77+
values 'SERIAL;-DKokkos_ENABLE_SERIAL=ON', 'OPENMP;-DKokkos_ENABLE_OPENMP=ON'
78+
}
79+
axis{
80+
name 'DeviceSpace'
81+
values 'NONE;-DKokkos_ENABLE_CUDA=OFF'
82+
}
83+
}
84+
stages {
85+
stage ('Build and Clean '){
86+
environment {
87+
// CMAKE build flags
88+
CMAKE_HOST_NAME = """${sh(
89+
returnStdout: true,
90+
script: 'cut -d";" -f1 <<<"${HostSpace}"'
91+
).trim()}"""
92+
CMAKE_HOST_FLAGS = """${sh(
93+
returnStdout: true,
94+
script: 'cut -d";" -f2 <<<"${HostSpace}"'
95+
).trim()}"""
96+
CMAKE_DEVICE_NAME = """${sh(
97+
returnStdout: true,
98+
script: 'cut -d";" -f1 <<<"${DeviceSpace}"'
99+
).trim()}"""
100+
CMAKE_DEVICE_FLAGS = """${sh(
101+
returnStdout: true,
102+
script: 'cut -d";" -f2 <<<"${DeviceSpace}"'
103+
).trim()}"""
104+
}
105+
stages {
106+
stage (' Build '){
107+
steps {
108+
echo "Building ${CMAKE_HOST_FLAGS} ${CMAKE_DEVICE_FLAGS}"
109+
sh """
110+
module load intel/2022.2.0
111+
export CC=icx
112+
export CXX=icpx
113+
cmake3 -S . -B build_INTEL_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME} -DCMAKE_BUILD_TYPE=Release ${CMAKE_HOST_FLAGS} ${CMAKE_DEVICE_FLAGS}
114+
cmake3 --build build_INTEL_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME}
115+
"""
116+
echo ' Build completed '
117+
}
118+
}
119+
stage (' Clean '){
120+
steps {
121+
echo ' Cleaning '
122+
sh "rm -rf build_INTEL_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME}"
123+
}
124+
}
125+
}
126+
}
127+
}
128+
}
129+
}
130+
}
131+
}

0 commit comments

Comments
 (0)