Skip to content

Commit b6678b0

Browse files
authored
Merge pull request #132 from SCOREC/ac/xsdk-changes
Changes for sdk approval
2 parents 01889e6 + bc7ae5c commit b6678b0

Some content is hidden

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

45 files changed

+3373
-380
lines changed
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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+
submodules:
15+
default: ''
16+
17+
runs:
18+
using: "composite"
19+
steps:
20+
21+
- name: Check Cache
22+
if: ${{ inputs.cache == 'true'}}
23+
uses: actions/cache@v3
24+
id: check-cache
25+
with:
26+
key: build-${{ inputs.repo-name }}
27+
path: ${{ runner.temp }}/build-${{ inputs.repo-name }}
28+
29+
- name: Checkout Repo
30+
uses: actions/checkout@v3
31+
with:
32+
repository: ${{ inputs.repo-path }}
33+
submodules: ${{ inputs.submodules }}
34+
ref: ${{ inputs.repo-ref }}
35+
path: ${{ inputs.repo-name }}
36+
37+
- name: Configure CMake
38+
if: ${{ !steps.check-cache.outputs.cache-hit }}
39+
shell: bash
40+
run: cmake -S $GITHUB_WORKSPACE/${{ inputs.repo-name }} -B ${{ runner.temp }}/build-${{ inputs.repo-name }}
41+
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-${{ inputs.repo-name }}/install
42+
${{ inputs.options }}
43+
44+
- name: Build Cmake
45+
if: ${{ !steps.check-cache.outputs.cache-hit }}
46+
shell: bash
47+
run: cmake --build ${{ runner.temp }}/build-${{ inputs.repo-name }} -j8 --target install

.github/workflows/cmake.yml

+74-167
Original file line numberDiff line numberDiff line change
@@ -35,179 +35,86 @@ jobs:
3535
- name: Install Valgrind
3636
run: sudo apt-get install -yq valgrind
3737

38-
# Build Kokkos
38+
- uses: actions/checkout@v4
3939

40-
- name: Cache Kokkos Build
41-
uses: actions/cache@v3
42-
id: build-kokkos
40+
- name: build kokkos
41+
uses: ./.github/actions/install-repo
4342
with:
44-
key: build-kokkos
45-
path: ${{ runner.temp }}/build-kokkos
46-
47-
- name: Kokkos Checkout repo
48-
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
49-
uses: actions/checkout@v3
43+
repo-name: 'kokkos'
44+
repo-path: 'kokkos/kokkos'
45+
repo-ref: '4.2.00'
46+
cache: true
47+
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
48+
-DKokkos_ENABLE_SERIAL=ON
49+
-DKokkos_ENABLE_OPENMP=off
50+
-DKokkos_ENABLE_CUDA=off
51+
-DKokkos_ENABLE_CUDA_LAMBDA=off
52+
-DKokkos_ENABLE_DEBUG=on'
53+
54+
- name: build omega_h
55+
uses: ./.github/actions/install-repo
5056
with:
51-
repository: kokkos/kokkos
52-
ref: 4.1.00
53-
path: kokkos
54-
55-
- name: Kokkos Create Directory
56-
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
57-
run: cmake -E make_directory ${{ runner.temp }}/build-kokkos
58-
59-
- name: Kokkos Configure CMake
60-
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
61-
run: cmake -S $GITHUB_WORKSPACE/kokkos -B ${{ runner.temp }}/build-kokkos
62-
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-kokkos/install
63-
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
64-
-DKokkos_ENABLE_SERIAL=ON
65-
-DKokkos_ENABLE_OPENMP=off
66-
-DKokkos_ENABLE_CUDA=off
67-
-DKokkos_ENABLE_CUDA_LAMBDA=off
68-
-DKokkos_ENABLE_DEBUG=on
69-
70-
- name: Kokkos Build
71-
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
72-
run: cmake --build ${{ runner.temp }}/build-kokkos -j8 --target install
73-
74-
# Build EnGPar
75-
76-
- name: Cache Engpar Build
77-
uses: actions/cache@v3
78-
id: build-engpar
57+
repo-name: 'omega_h'
58+
repo-path: 'SCOREC/omega_h'
59+
repo-ref: ''
60+
cache: true
61+
options: '-DCMAKE_BUILD_TYPE=Release
62+
-DBUILD_SHARED_LIBS=OFF
63+
-DOmega_h_USE_Kokkos=ON
64+
-DOmega_h_USE_CUDA=off
65+
-DOmega_h_USE_MPI=on
66+
-DMPIEXEC_EXECUTABLE=srun
67+
-DBUILD_TESTING=off
68+
-DCMAKE_C_COMPILER=mpicc
69+
-DCMAKE_CXX_COMPILER=mpicxx
70+
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install/lib/cmake'
71+
72+
- name: build Engpar
73+
uses: ./.github/actions/install-repo
7974
with:
80-
key: build-engpar
81-
path: ${{ runner.temp }}/build-engpar
82-
83-
- name: EnGPar Checkout repo
84-
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
85-
uses: actions/checkout@v3
75+
repo-name: 'Engpar'
76+
repo-path: 'SCOREC/EnGPar'
77+
repo-ref: ''
78+
cache: true
79+
options: '-DCMAKE_C_COMPILER=mpicc
80+
-DCMAKE_CXX_COMPILER=mpicxx
81+
-DCMAKE_CXX_FLAGS="-std=c++11"
82+
-DENABLE_PARMETIS=OFF
83+
-DENABLE_PUMI=OFF
84+
-DIS_TESTING=OFF'
85+
86+
- name: build cabana
87+
uses: ./.github/actions/install-repo
8688
with:
87-
repository: SCOREC/EnGPar
88-
path: engpar
89-
90-
- name: EnGPar Create Directory
91-
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
92-
run: cmake -E make_directory ${{ runner.temp }}/build-engpar
93-
94-
- name: EnGPar Configure CMake
95-
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
96-
run: cmake -S $GITHUB_WORKSPACE/engpar -B ${{ runner.temp }}/build-engpar
97-
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-engpar/install
98-
-DCMAKE_C_COMPILER="mpicc"
99-
-DCMAKE_CXX_COMPILER="mpicxx"
100-
-DCMAKE_CXX_FLAGS="-std=c++11"
101-
-DENABLE_PARMETIS=OFF
102-
-DENABLE_PUMI=OFF
103-
-DIS_TESTING=OFF
104-
105-
- name: EnGPar Build
106-
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
107-
run: cmake --build ${{ runner.temp }}/build-engpar -j8 --target install
108-
109-
# Build Omega_h
110-
111-
- name: Cache Omega_h Build
112-
uses: actions/cache@v3
113-
id: build-omega_h
114-
with:
115-
key: build-omega_h
116-
path: ${{ runner.temp }}/build-omega_h
117-
118-
- name: Omega_h Checkout repo
119-
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
120-
uses: actions/checkout@v3
89+
repo-name: 'cabana'
90+
repo-path: 'ECP-copa/cabana'
91+
repo-ref: '0.6.1'
92+
cache: true
93+
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
94+
-DCMAKE_BUILD_TYPE=Release
95+
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
96+
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'
97+
98+
- name: build pumi-pic
99+
uses: ./.github/actions/install-repo
121100
with:
122-
repository: SCOREC/omega_h
123-
ref: scorec-v10.8.0
124-
path: omega_h
125-
126-
- name: Omega_h Create Directory
127-
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
128-
run: cmake -E make_directory ${{ runner.temp }}/build-omega_h
129-
130-
- name: Omega_h Configure CMake
131-
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
132-
run: cmake -S $GITHUB_WORKSPACE/omega_h -B ${{ runner.temp }}/build-omega_h
133-
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-omega_h/install
134-
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
135-
-DBUILD_SHARED_LIBS=OFF
136-
-DOmega_h_USE_Kokkos=ON
137-
-DOmega_h_USE_CUDA=off
138-
-DOmega_h_USE_MPI=on
139-
-DCMAKE_BUILD_TYPE=Release
140-
-DBUILD_TESTING=on
141-
-DCMAKE_CXX_COMPILER="mpicxx"
142-
-DCMAKE_C_COMPILER="mpicc"
143-
144-
- name: Omega_h Build
145-
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
146-
run: cmake --build ${{ runner.temp }}/build-omega_h -j8 --target install
147-
148-
# Build Cabana
149-
150-
- name: Cache Cabana Build
151-
uses: actions/cache@v3
152-
id: build-cabana
153-
with:
154-
key: build-cabana
155-
path: ${{ runner.temp }}/build-cabana
156-
157-
- name: Cabana Checkout repo
158-
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
159-
uses: actions/checkout@v3
160-
with:
161-
repository: ECP-copa/cabana
162-
path: cabana
163-
164-
- name: Cabana Create Directory
165-
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
166-
run: cmake -E make_directory ${{ runner.temp }}/build-cabana
167-
168-
- name: Cabana Configure CMake
169-
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
170-
run: cmake -S $GITHUB_WORKSPACE/cabana -B ${{ runner.temp }}/build-cabana
171-
-DCMAKE_BUILD_TYPE="Release"
172-
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
173-
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
174-
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
175-
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-cabana/install
176-
177-
- name: Cabana Build
178-
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
179-
run: cmake --build ${{ runner.temp }}/build-cabana -j8 --target install
180-
181-
# Build PUMI-PIC
182-
183-
- name: PUMI-PIC Checkout repo
184-
uses: actions/checkout@v3
185-
with:
186-
submodules: recursive
187-
repository: SCOREC/pumi-pic
188-
path: pumi-pic
189-
190-
- name: PUMI-PIC Create Directory
191-
run: cmake -E make_directory ${{ runner.temp }}/build-pumi-pic
192-
193-
- name: PUMI-PIC Configure CMake
194-
run: cmake -S $GITHUB_WORKSPACE/pumi-pic -B ${{ runner.temp }}/build-pumi-pic
195-
-DCMAKE_CXX_COMPILER=mpicxx
196-
-DIS_TESTING=ON
197-
-DPS_IS_TESTING=ON
198-
-DPP_ENABLE_MEMCHECK=${{matrix.memory_test}}
199-
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
200-
-DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data
201-
-DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install
202-
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install
203-
-DEnGPar_PREFIX=${{ runner.temp }}/build-engpar/install
204-
-DCabana_PREFIX=${{ runner.temp }}/build-cabana/install
205-
-DENABLE_CABANA=on
206-
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-pumi-pic/install
207-
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
208-
209-
- name: PUMI-PIC Build
210-
run: cmake --build ${{ runner.temp }}/build-pumi-pic -j8 --target install
101+
repo-name: 'pumi-pic'
102+
repo-path: 'SCOREC/pumi-pic'
103+
submodules: 'recursive'
104+
repo-ref: ''
105+
cache: false
106+
options: '-DCMAKE_CXX_COMPILER=mpicxx
107+
-DIS_TESTING=ON
108+
-DPS_IS_TESTING=ON
109+
-DPP_ENABLE_MEMCHECK=${{ matrix.memory_test }}
110+
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
111+
-DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data
112+
-DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install
113+
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install
114+
-DEnGPar_PREFIX=${{ runner.temp }}/build-Engpar/install
115+
-DCabana_PREFIX=${{ runner.temp }}/build-cabana/install
116+
-DENABLE_CABANA=on
117+
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'
211118

212119
- name: PUMI-PIC Test
213120
if: ${{matrix.memory_test == 'OFF'}}
+49
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

CMakeLists.txt

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.0.0)
22

3-
project(pumipic VERSION 2.1.3 LANGUAGES CXX)
3+
project(pumipic VERSION 2.1.4 LANGUAGES CXX)
44

55
include(cmake/bob.cmake)
66

@@ -86,6 +86,13 @@ if(Omega_h_VERSION VERSION_LESS 10.8.0)
8686
message(FATAL_ERROR "Omega_h version >= 10.8.0 required.")
8787
endif()
8888

89+
if(EnGPar_VERSION VERSION_LESS 1.1.0)
90+
message(FATAL_ERROR "EnGPar version >= 1.1.0 required.")
91+
endif()
92+
93+
option(PUMIPIC_PRINT_ENABLED "PUMIPIC print statements enabled" ON)
94+
find_package(spdlog QUIET)
95+
8996
set(debug_flag)
9097
if (PP_ENABLE_DEBUG_SYMBOLS)
9198
set(debug_flag "-g")

0 commit comments

Comments
 (0)