Skip to content

Commit 855f44a

Browse files
committed
added pelmutter files
1 parent 23e56ce commit 855f44a

File tree

5 files changed

+241
-201
lines changed

5 files changed

+241
-201
lines changed

.github/install-repo/action.yml

Lines changed: 47 additions & 0 deletions
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

Lines changed: 82 additions & 200 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
buildTest:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-22.04
1010

1111
defaults:
1212
run:
@@ -32,212 +32,94 @@ jobs:
3232
- name: Install NetCDF-Fortran
3333
run: sudo apt-get install libnetcdff-dev
3434

35-
# Build Kokkos
35+
- uses: actions/checkout@v4
3636

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

242124
- name: PolyMPO Build
243125
run: cmake --build ${{ runner.temp }}/build-polyMPO -j8 --target install

0 commit comments

Comments
 (0)