Skip to content

Commit 502999e

Browse files
committed
Merge branch 'develop' into fuad-commits-not-interpolation
2 parents 2ddbfae + 72318ed commit 502999e

34 files changed

+4650
-335
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Install-Repo
2+
3+
inputs:
4+
repo-name:
5+
required: true
6+
repo-path:
7+
required: true
8+
repo-ref:
9+
required: true
10+
options:
11+
required: true
12+
cache:
13+
required: true
14+
15+
runs:
16+
using: "composite"
17+
steps:
18+
19+
- name: Check Cache
20+
if: ${{ inputs.cache == 'true'}}
21+
uses: actions/cache@v3
22+
id: check-cache
23+
with:
24+
key: build-${{ inputs.repo-name }}
25+
path: ${{ runner.temp }}/build-${{ inputs.repo-name }}
26+
27+
- name: Checkout Repo
28+
uses: actions/checkout@v3
29+
with:
30+
repository: ${{inputs.repo-path }}
31+
ref: ${{ inputs.repo-ref }}
32+
path: ${{ inputs.repo-name }}
33+
34+
- name: Configure CMake
35+
if: ${{ !steps.check-cache.outputs.cache-hit }}
36+
shell: bash
37+
run: cmake -S $GITHUB_WORKSPACE/${{ inputs.repo-name }} -B ${{ runner.temp }}/build-${{ inputs.repo-name }}
38+
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-${{ inputs.repo-name }}/install
39+
${{ inputs.options }}
40+
41+
- name: Build Cmake
42+
if: ${{ !steps.check-cache.outputs.cache-hit }}
43+
shell: bash
44+
run: cmake --build ${{ runner.temp }}/build-${{ inputs.repo-name }} -j8 --target install

.github/workflows/cmake-test.yml

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
name: Test-Build
2+
on:
3+
push:
4+
schedule:
5+
- cron: '12 14 * * 3'
6+
7+
jobs:
8+
test-build:
9+
runs-on: ubuntu-latest
10+
11+
defaults:
12+
run:
13+
shell: bash
14+
15+
strategy:
16+
matrix:
17+
build_type: [Release]
18+
memory_test: [ON, OFF]
19+
compiler: [g++]
20+
language: ['cpp']
21+
exclude:
22+
- build_type: Release
23+
memory_test: ON
24+
- build_type: RelWithDebInfo
25+
memory_test: OFF
26+
27+
steps:
28+
29+
- name: Update packages
30+
run: sudo apt-get update
31+
32+
- name: Install mpi
33+
run: sudo apt-get install -yq mpich libmpich-dev
34+
35+
- uses: actions/checkout@v4
36+
37+
- name: build kokkos
38+
uses: ./.github/actions/install-repo
39+
with:
40+
repo-name: 'kokkos'
41+
repo-path: 'kokkos/kokkos'
42+
repo-ref: '4.2.00'
43+
cache: true
44+
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
45+
-DKokkos_ENABLE_SERIAL=ON
46+
-DKokkos_ENABLE_OPENMP=off
47+
-DKokkos_ENABLE_CUDA=off
48+
-DKokkos_ENABLE_CUDA_LAMBDA=off
49+
-DKokkos_ENABLE_DEBUG=on'
50+
51+
- name: build ADIOS2
52+
uses: ./.github/actions/install-repo
53+
with:
54+
repo-name: 'ADIOS2'
55+
repo-path: 'ornladios/ADIOS2'
56+
repo-ref: ''
57+
cache: true
58+
options: '-DADIOS2_USE_CUDA=off
59+
-DCMAKE_BUILD_TYPE=Release
60+
-DCMAKE_CXX_COMPILER=mpicxx
61+
-DCMAKE_C_COMPILER=mpicc'
62+
63+
- name: build perfstubs
64+
uses: ./.github/actions/install-repo
65+
with:
66+
repo-name: 'perfstubs'
67+
repo-path: 'UO-OACISS/perfstubs'
68+
repo-ref: ''
69+
cache: true
70+
options: '-DCMAKE_BUILD_TYPE=Release
71+
-DCMAKE_CXX_COMPILER=mpicxx
72+
-DCMAKE_C_COMPILER=mpicc'
73+
74+
- name: build redev
75+
uses: ./.github/actions/install-repo
76+
with:
77+
repo-name: 'redev'
78+
repo-path: 'SCOREC/redev'
79+
repo-ref: ''
80+
cache: true
81+
options: '-DCMAKE_BUILD_TYPE=Release
82+
-DCMAKE_CXX_COMPILER=mpicxx
83+
-DCMAKE_C_COMPILER=mpicc
84+
-DMPIEXEC_EXECUTABLE=`which srun`
85+
-Dperfstubs_DIR=${{ runner.temp }}/build-perfstubs
86+
-DADIOS2_ROOT=${{ runner.temp }}/build-ADIOS2/install'
87+
88+
- name: build omega_h
89+
uses: ./.github/actions/install-repo
90+
with:
91+
repo-name: 'omega_h'
92+
repo-path: 'SCOREC/omega_h'
93+
repo-ref: ''
94+
cache: true
95+
options: '-DCMAKE_BUILD_TYPE=Release
96+
-DBUILD_SHARED_LIBS=off
97+
-DOmega_h_USE_Kokkos=on
98+
-DOmega_h_USE_CUDA=off
99+
-DOmega_h_USE_MPI=on
100+
-DMPIEXEC_EXECUTABLE=srun
101+
-DBUILD_TESTING=off
102+
-DCMAKE_C_COMPILER=mpicc
103+
-DCMAKE_CXX_COMPILER=mpicxx
104+
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install/lib/cmake'
105+
106+
- name: build Catch2
107+
uses: ./.github/actions/install-repo
108+
with:
109+
repo-name: 'Catch2'
110+
repo-path: 'catchorg/Catch2'
111+
repo-ref: ''
112+
cache: true
113+
options: '-DCMAKE_BUILD_TYPE=Release
114+
-DCMAKE_CXX_COMPILER=mpicxx'
115+
116+
- name: checkout pcms_testcases
117+
uses: actions/checkout@v3
118+
with:
119+
repository: jacobmerson/pcms_testcases
120+
path: pcms_testcases
121+
122+
- name: Install fftw3
123+
run: sudo apt-get install -yq fftw3 fftw3-dev pkg-config
124+
125+
- name: build pcms
126+
uses: ./.github/actions/install-repo
127+
with:
128+
repo-name: 'pcms'
129+
repo-path: 'SCOREC/pcms'
130+
repo-ref: ''
131+
cache: false
132+
options: '-DCMAKE_BUILD_TYPE=Release
133+
-DCMAKE_C_COMPILER=mpicc
134+
-DCMAKE_CXX_COMPILER=mpicxx
135+
-Dredev_DIR=${{ runner.temp }}/build-redev/install/lib/cmake/redev
136+
-Dperfstubs_DIR=${{ runner.temp }}/build-perfstubs
137+
-DOmega_h_DIR=${{ runner.temp }}/build-omega_h/install/lib/cmake/Omega_h
138+
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos
139+
-DCatch2_DIR=${{ runner.temp }}/build-Catch2/install/lib/cmake/Catch2
140+
-DPCMS_TEST_DATA_DIR=$PWD/pcms_testcases'
141+
142+
# - name: Install Valgrind
143+
# run: sudo apt-get install -yq valgrind
144+
145+
# - name: Run CTest
146+
# run: ctest --test-dir ${{ runner.temp }}/build-pcms
147+
148+
# - name: Print Test
149+
# if: always()
150+
# run: cat ${{ runner.temp }}/build-pcms/Testing/Temporary/LastTest.log

.github/workflows/globus-tests.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Globus-Systems
2+
on:
3+
schedule:
4+
# Monday 8:35 UTC or 04:35 EDT
5+
- cron: '35 8 * * 1'
6+
7+
jobs:
8+
perlmutter-test:
9+
uses: SCOREC/github-actions/.github/workflows/globus-test.yml@main
10+
secrets: inherit
11+
with:
12+
machine: "perlmutter"
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
#!/bin/bash -e
2+
3+
branch=$1
4+
5+
cd $SCRATCH/globus-compute/pcms-test
6+
7+
module load cray-fftw
8+
9+
# # kokkos
10+
# rm build-kokkos -rf
11+
# # rm kokkos -rf
12+
# git clone -b 4.2.00 https://github.com/kokkos/kokkos.git
13+
# cmake -S kokkos -B build-kokkos \
14+
# -DCMAKE_INSTALL_PREFIX=build-kokkos/install \
15+
# -DCMAKE_BUILD_TYPE="Release" \
16+
# -DCMAKE_CXX_COMPILER=$PWD/kokkos/bin/nvcc_wrapper \
17+
# -DKokkos_ARCH_AMPERE80=ON \
18+
# -DKokkos_ENABLE_SERIAL=ON \
19+
# -DKokkos_ENABLE_OPENMP=off \
20+
# -DKokkos_ENABLE_CUDA=on \
21+
# -DKokkos_ENABLE_CUDA_LAMBDA=on \
22+
# -DKokkos_ENABLE_CUDA_CONSTEXPR=on \
23+
# -DKokkos_ENABLE_DEBUG=off
24+
# cmake --build build-kokkos -j 24 --target install
25+
26+
# # ADIOS2
27+
# rm build-ADIOS2 -rf
28+
# # rm ADIOS2 -rf
29+
# git clone git@github.com:ornladios/ADIOS2.git
30+
# cmake -S ADIOS2/ -B build-ADIOS2 \
31+
# -DCMAKE_INSTALL_PREFIX=build-ADIOS2/install \
32+
# -DADIOS2_USE_CUDA=on \
33+
# -DCMAKE_BUILD_TYPE=Release \
34+
# -DCMAKE_CXX_COMPILER=CC \
35+
# -DCMAKE_C_COMPILER=cc
36+
# cmake --build build-ADIOS2 --target install -j8
37+
38+
# # perfstubs
39+
# rm build-perfstubs -rf
40+
# # rm perfstubs -rf
41+
# git clone git@github.com:UO-OACISS/perfstubs.git
42+
# cmake -S perfstubs -B build-perfstubs \
43+
# -DCMAKE_CXX_COMPILER=CC \
44+
# -DCMAKE_C_COMPILER=cc \
45+
# -DCMAKE_INSTALL_PREFIX=build-perfstubs/install
46+
# cmake --build build-perfstubs -j2 --target install
47+
48+
# # redev
49+
# rm build-redev -rf
50+
# # rm redev -rf
51+
# git clone git@github.com:SCOREC/redev.git
52+
# cmake -S redev -B build-redev \
53+
# -DCMAKE_CXX_COMPILER=CC \
54+
# -DCMAKE_C_COMPILER=cc \
55+
# -DMPIEXEC_EXECUTABLE=`which srun` \
56+
# -DCMAKE_BUILD_TYPE=Release \
57+
# -DCMAKE_INSTALL_PREFIX=build-redev/install \
58+
# -Dperfstubs_DIR=$PWD/build-perfstubs \
59+
# -DADIOS2_ROOT=build-ADIOS2/install
60+
# cmake --build build-redev -j2 --target install
61+
62+
# # omega_h
63+
# rm build-omega_h -rf
64+
# # rm omega_h -rf
65+
# git clone git@github.com:SCOREC/omega_h.git
66+
# cmake -S omega_h -B build-omega_h \
67+
# -DCMAKE_INSTALL_PREFIX=build-omega_h/install \
68+
# -DCMAKE_BUILD_TYPE=Release \
69+
# -DBUILD_SHARED_LIBS=off \
70+
# -DOmega_h_USE_Kokkos=ON \
71+
# -DOmega_h_USE_CUDA=on \
72+
# -DOmega_h_CUDA_ARCH=80 \
73+
# -DOmega_h_USE_MPI=on \
74+
# -DMPIEXEC_EXECUTABLE=srun \
75+
# -DBUILD_TESTING=off \
76+
# -DCMAKE_C_COMPILER=cc \
77+
# -DCMAKE_CXX_COMPILER=CC \
78+
# -DKokkos_PREFIX=build-kokkos/install/lib64/cmake
79+
# cmake --build build-omega_h -j24 --target install
80+
81+
# # Catch2
82+
# rm build-Catch2 -rf
83+
# # rm Catch2 -rf
84+
# git clone https://github.com/catchorg/Catch2
85+
# cmake -S Catch2 -B build-Catch2 \
86+
# -DCMAKE_INSTALL_PREFIX=$PWD/build-Catch2/install \
87+
# -DCMAKE_CXX_COMPILER=CC
88+
# cmake --build build-Catch2 -j2 --target install
89+
90+
# pcms
91+
rm pcms -rf
92+
rm build-pcms -rf
93+
rm pcms_testcases -rf
94+
95+
git clone git@github.com:jacobmerson/pcms_testcases.git
96+
git clone https://github.com/SCOREC/pcms.git
97+
cd pcms && git checkout $branch && cd -
98+
99+
cmake -S pcms -B build-pcms \
100+
-DCMAKE_C_COMPILER=cc \
101+
-DCMAKE_CXX_COMPILER=CC \
102+
-DCMAKE_BUILD_TYPE=Release \
103+
-DPCMS_TIMEOUT=0 \
104+
-Dperfstubs_DIR=$PWD/build-perfstubs \
105+
-Dredev_DIR=$PWD/build-redev/install/lib64/cmake/redev \
106+
-DOmega_h_DIR=$PWD/build-omega_h/install/lib64/cmake/Omega_h/ \
107+
-DKokkos_DIR=$PWD/build-kokkos/install/lib64/cmake/Kokkos/ \
108+
-DCatch2_DIR=$PWD/build-Catch2/install/lib64/cmake/Catch2/ \
109+
-DPCMS_TEST_DATA_DIR=$PWD/pcms_testcases
110+
cmake --build build-pcms -j8
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
3+
name=pcms
4+
5+
cd $SCRATCH/globus-compute/$name-test
6+
7+
module load cray-fftw
8+
9+
cd build-$name
10+
salloc --time 00:20:00 --constrain=gpu --qos=interactive --nodes=1 --ntasks-per-node=40 --cpus-per-task=1 --gpus=1 --account=m4564 ctest
11+
cat $PWD/Testing/Temporary/LastTest.log
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Update Doxygen Page
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
doxygen:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
14+
steps:
15+
16+
- name: Install Doxygen
17+
run: |
18+
sudo apt-add-repository universe
19+
sudo apt-get update
20+
sudo apt-get install doxygen
21+
22+
- name: Checkout Original
23+
uses: actions/checkout@v4
24+
with:
25+
path: original
26+
27+
- name: Run Doxygen
28+
working-directory: original
29+
run: doxygen
30+
31+
- name: Checkout Pages
32+
uses: actions/checkout@v4
33+
with:
34+
path: pages
35+
36+
- name: Set up pages directory
37+
working-directory: pages
38+
run: |
39+
git checkout --orphan gh-pages
40+
git rm -rf .
41+
cp -r ../original/html/. .
42+
- name: Update Github
43+
working-directory: pages
44+
run: |
45+
git config user.name "GitHub Actions Bot"
46+
git config user.email "<>"
47+
git add .
48+
git commit -m "Update page from action"
49+
git push -f origin gh-pages

0 commit comments

Comments
 (0)