Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes for sdk approval #132

Merged
merged 56 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
7108e6a
mpi communicator option particle struct
Angelyr Nov 13, 2024
5a8c363
removed mesh mpi comm world
Angelyr Nov 13, 2024
a1e94a2
pumipic version
Angelyr Nov 14, 2024
ca72e8b
created pPrintError
Angelyr Nov 15, 2024
ab85e4f
replace all stderr
Angelyr Nov 15, 2024
5856337
printinfo
Angelyr Nov 15, 2024
20b1f75
optional spdlog
Angelyr Nov 15, 2024
76caf45
optional print
Angelyr Nov 15, 2024
5e7a4de
better spacing
Angelyr Nov 15, 2024
b0c5f9c
replace some errors with info
Angelyr Nov 15, 2024
9b93bef
print on device
Angelyr Nov 15, 2024
7a0975b
fixed debug warning
Angelyr Nov 15, 2024
2e91445
fix print option
Angelyr Nov 15, 2024
3527f47
fixed formatting
Angelyr Nov 15, 2024
a545037
major minor patch version
Angelyr Nov 15, 2024
59fc170
updated cmake versions
Angelyr Nov 15, 2024
d90d448
refactor github test
Angelyr Nov 15, 2024
c67e439
use ppMacros
Angelyr Nov 15, 2024
2925425
try printf
Angelyr Nov 15, 2024
b1a6121
template string
Angelyr Nov 16, 2024
635e8d7
fix omega_h build
Angelyr Nov 16, 2024
d012ca7
latest omega_h
Angelyr Nov 16, 2024
44c87e1
submodule option
Angelyr Nov 16, 2024
8c31c34
using char*
Angelyr Nov 16, 2024
bd28101
doxygen
Angelyr Nov 21, 2024
4dc0c9a
update page
Angelyr Nov 21, 2024
df09716
configure git
Angelyr Nov 21, 2024
792db3d
push origin
Angelyr Nov 21, 2024
769bae8
write permissions
Angelyr Nov 21, 2024
fa3cf71
only gh-pages
Angelyr Nov 21, 2024
7db2a97
typo
Angelyr Nov 21, 2024
e125855
another typo
Angelyr Nov 21, 2024
83a7246
try ls
Angelyr Nov 21, 2024
613fc55
ls html
Angelyr Nov 21, 2024
34c636b
ls original
Angelyr Nov 21, 2024
fad919f
push changes
Angelyr Nov 21, 2024
f303639
force push
Angelyr Nov 21, 2024
9a10d77
try build artifact
Angelyr Nov 21, 2024
b461a6c
permissions
Angelyr Nov 21, 2024
25c86c3
workflow dispatch
Angelyr Nov 21, 2024
c2985d6
on push
Angelyr Nov 21, 2024
ec1b96b
revert to using gh-pages
Angelyr Nov 21, 2024
b20b7e5
push master
Angelyr Nov 21, 2024
e2aaf60
smoke test
Angelyr Nov 24, 2024
6ef4dac
test all structures
Angelyr Nov 24, 2024
34882e6
rename doxyfile
Angelyr Nov 27, 2024
aac53ad
always install smoke test
Angelyr Nov 27, 2024
69d43eb
moved version to build dir
Angelyr Nov 27, 2024
4c1073d
set print file
Angelyr Nov 27, 2024
06fae49
reduced version
Angelyr Nov 27, 2024
59071e7
moved option and find package
Angelyr Nov 28, 2024
2f587ee
update variable names
Angelyr Nov 28, 2024
719bb4f
updated header guards
Angelyr Nov 28, 2024
6cfaf55
moved [ERROR]
Angelyr Nov 28, 2024
e84fbe2
removed global state
Angelyr Nov 30, 2024
bc7ae5c
install pumipic_version
Angelyr Dec 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/actions/install-repo/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Install-Repo

inputs:
repo-name:
required: true
repo-path:
required: true
repo-ref:
required: true
options:
required: true
cache:
required: true
submodules:
default: ''

runs:
using: "composite"
steps:

- name: Check Cache
if: ${{ inputs.cache == 'true'}}
uses: actions/cache@v3
id: check-cache
with:
key: build-${{ inputs.repo-name }}
path: ${{ runner.temp }}/build-${{ inputs.repo-name }}

- name: Checkout Repo
uses: actions/checkout@v3
with:
repository: ${{ inputs.repo-path }}
submodules: ${{ inputs.submodules }}
ref: ${{ inputs.repo-ref }}
path: ${{ inputs.repo-name }}

- name: Configure CMake
if: ${{ !steps.check-cache.outputs.cache-hit }}
shell: bash
run: cmake -S $GITHUB_WORKSPACE/${{ inputs.repo-name }} -B ${{ runner.temp }}/build-${{ inputs.repo-name }}
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-${{ inputs.repo-name }}/install
${{ inputs.options }}

- name: Build Cmake
if: ${{ !steps.check-cache.outputs.cache-hit }}
shell: bash
run: cmake --build ${{ runner.temp }}/build-${{ inputs.repo-name }} -j8 --target install
241 changes: 74 additions & 167 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,179 +35,86 @@ jobs:
- name: Install Valgrind
run: sudo apt-get install -yq valgrind

# Build Kokkos
- uses: actions/checkout@v4

- name: Cache Kokkos Build
uses: actions/cache@v3
id: build-kokkos
- name: build kokkos
uses: ./.github/actions/install-repo
with:
key: build-kokkos
path: ${{ runner.temp }}/build-kokkos

- name: Kokkos Checkout repo
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
uses: actions/checkout@v3
repo-name: 'kokkos'
repo-path: 'kokkos/kokkos'
repo-ref: '4.2.00'
cache: true
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
-DKokkos_ENABLE_SERIAL=ON
-DKokkos_ENABLE_OPENMP=off
-DKokkos_ENABLE_CUDA=off
-DKokkos_ENABLE_CUDA_LAMBDA=off
-DKokkos_ENABLE_DEBUG=on'

- name: build omega_h
uses: ./.github/actions/install-repo
with:
repository: kokkos/kokkos
ref: 4.1.00
path: kokkos

- name: Kokkos Create Directory
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
run: cmake -E make_directory ${{ runner.temp }}/build-kokkos

- name: Kokkos Configure CMake
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
run: cmake -S $GITHUB_WORKSPACE/kokkos -B ${{ runner.temp }}/build-kokkos
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-kokkos/install
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
-DKokkos_ENABLE_SERIAL=ON
-DKokkos_ENABLE_OPENMP=off
-DKokkos_ENABLE_CUDA=off
-DKokkos_ENABLE_CUDA_LAMBDA=off
-DKokkos_ENABLE_DEBUG=on

- name: Kokkos Build
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
run: cmake --build ${{ runner.temp }}/build-kokkos -j8 --target install

# Build EnGPar

- name: Cache Engpar Build
uses: actions/cache@v3
id: build-engpar
repo-name: 'omega_h'
repo-path: 'SCOREC/omega_h'
repo-ref: ''
cache: true
options: '-DCMAKE_BUILD_TYPE=Release
-DBUILD_SHARED_LIBS=OFF
-DOmega_h_USE_Kokkos=ON
-DOmega_h_USE_CUDA=off
-DOmega_h_USE_MPI=on
-DMPIEXEC_EXECUTABLE=srun
-DBUILD_TESTING=off
-DCMAKE_C_COMPILER=mpicc
-DCMAKE_CXX_COMPILER=mpicxx
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install/lib/cmake'

- name: build Engpar
uses: ./.github/actions/install-repo
with:
key: build-engpar
path: ${{ runner.temp }}/build-engpar

- name: EnGPar Checkout repo
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
uses: actions/checkout@v3
repo-name: 'Engpar'
repo-path: 'SCOREC/EnGPar'
repo-ref: ''
cache: true
options: '-DCMAKE_C_COMPILER=mpicc
-DCMAKE_CXX_COMPILER=mpicxx
-DCMAKE_CXX_FLAGS="-std=c++11"
-DENABLE_PARMETIS=OFF
-DENABLE_PUMI=OFF
-DIS_TESTING=OFF'

- name: build cabana
uses: ./.github/actions/install-repo
with:
repository: SCOREC/EnGPar
path: engpar

- name: EnGPar Create Directory
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
run: cmake -E make_directory ${{ runner.temp }}/build-engpar

- name: EnGPar Configure CMake
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
run: cmake -S $GITHUB_WORKSPACE/engpar -B ${{ runner.temp }}/build-engpar
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-engpar/install
-DCMAKE_C_COMPILER="mpicc"
-DCMAKE_CXX_COMPILER="mpicxx"
-DCMAKE_CXX_FLAGS="-std=c++11"
-DENABLE_PARMETIS=OFF
-DENABLE_PUMI=OFF
-DIS_TESTING=OFF

- name: EnGPar Build
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
run: cmake --build ${{ runner.temp }}/build-engpar -j8 --target install

# Build Omega_h

- name: Cache Omega_h Build
uses: actions/cache@v3
id: build-omega_h
with:
key: build-omega_h
path: ${{ runner.temp }}/build-omega_h

- name: Omega_h Checkout repo
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
uses: actions/checkout@v3
repo-name: 'cabana'
repo-path: 'ECP-copa/cabana'
repo-ref: '0.6.1'
cache: true
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'

- name: build pumi-pic
uses: ./.github/actions/install-repo
with:
repository: SCOREC/omega_h
ref: scorec-v10.8.0
path: omega_h

- name: Omega_h Create Directory
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
run: cmake -E make_directory ${{ runner.temp }}/build-omega_h

- name: Omega_h Configure CMake
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
run: cmake -S $GITHUB_WORKSPACE/omega_h -B ${{ runner.temp }}/build-omega_h
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-omega_h/install
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
-DBUILD_SHARED_LIBS=OFF
-DOmega_h_USE_Kokkos=ON
-DOmega_h_USE_CUDA=off
-DOmega_h_USE_MPI=on
-DCMAKE_BUILD_TYPE=Release
-DBUILD_TESTING=on
-DCMAKE_CXX_COMPILER="mpicxx"
-DCMAKE_C_COMPILER="mpicc"

- name: Omega_h Build
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
run: cmake --build ${{ runner.temp }}/build-omega_h -j8 --target install

# Build Cabana

- name: Cache Cabana Build
uses: actions/cache@v3
id: build-cabana
with:
key: build-cabana
path: ${{ runner.temp }}/build-cabana

- name: Cabana Checkout repo
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
uses: actions/checkout@v3
with:
repository: ECP-copa/cabana
path: cabana

- name: Cabana Create Directory
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
run: cmake -E make_directory ${{ runner.temp }}/build-cabana

- name: Cabana Configure CMake
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
run: cmake -S $GITHUB_WORKSPACE/cabana -B ${{ runner.temp }}/build-cabana
-DCMAKE_BUILD_TYPE="Release"
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-cabana/install

- name: Cabana Build
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
run: cmake --build ${{ runner.temp }}/build-cabana -j8 --target install

# Build PUMI-PIC

- name: PUMI-PIC Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive
repository: SCOREC/pumi-pic
path: pumi-pic

- name: PUMI-PIC Create Directory
run: cmake -E make_directory ${{ runner.temp }}/build-pumi-pic

- name: PUMI-PIC Configure CMake
run: cmake -S $GITHUB_WORKSPACE/pumi-pic -B ${{ runner.temp }}/build-pumi-pic
-DCMAKE_CXX_COMPILER=mpicxx
-DIS_TESTING=ON
-DPS_IS_TESTING=ON
-DPP_ENABLE_MEMCHECK=${{matrix.memory_test}}
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
-DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data
-DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install
-DEnGPar_PREFIX=${{ runner.temp }}/build-engpar/install
-DCabana_PREFIX=${{ runner.temp }}/build-cabana/install
-DENABLE_CABANA=on
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-pumi-pic/install
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake

- name: PUMI-PIC Build
run: cmake --build ${{ runner.temp }}/build-pumi-pic -j8 --target install
repo-name: 'pumi-pic'
repo-path: 'SCOREC/pumi-pic'
submodules: 'recursive'
repo-ref: ''
cache: false
options: '-DCMAKE_CXX_COMPILER=mpicxx
-DIS_TESTING=ON
-DPS_IS_TESTING=ON
-DPP_ENABLE_MEMCHECK=${{ matrix.memory_test }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data
-DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install
-DEnGPar_PREFIX=${{ runner.temp }}/build-Engpar/install
-DCabana_PREFIX=${{ runner.temp }}/build-cabana/install
-DENABLE_CABANA=on
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'

- name: PUMI-PIC Test
if: ${{matrix.memory_test == 'OFF'}}
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/update_doxygen_pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Update Doxygen Page

on:
push:
branches:
- master

jobs:
doxygen:
runs-on: ubuntu-latest
permissions:
contents: write

steps:

- name: Install Doxygen
run: |
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install doxygen

- name: Checkout Original
uses: actions/checkout@v4
with:
path: original

- name: Run Doxygen
working-directory: original
run: doxygen

- name: Checkout Pages
uses: actions/checkout@v4
with:
path: pages

- name: Set up pages directory
working-directory: pages
run: |
git checkout --orphan gh-pages
git rm -rf .
cp -r ../original/html/. .
- name: Update Github
working-directory: pages
run: |
git config user.name "GitHub Actions Bot"
git config user.email "<>"
git add .
git commit -m "Update page from action"
git push -f origin gh-pages
10 changes: 7 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0)

project(pumipic VERSION 2.1.3 LANGUAGES CXX)
project(pumipic VERSION 2.1.4 LANGUAGES CXX)

include(cmake/bob.cmake)

Expand Down Expand Up @@ -78,14 +78,18 @@ set(pumipic_USE_Kokkos_DEFAULT ON)
bob_public_dep(Kokkos)
set(KOKKOS_ENABLED true)

if(Kokkos_VERSION VERSION_LESS 4.0.01)
message(FATAL_ERROR "Kokkos version >= 4.0.01 required.")
if(Kokkos_VERSION VERSION_LESS 4.2.00)
Angelyr marked this conversation as resolved.
Show resolved Hide resolved
message(FATAL_ERROR "Kokkos version >= 4.2.00 required.")
endif()

if(Omega_h_VERSION VERSION_LESS 10.8.0)
message(FATAL_ERROR "Omega_h version >= 10.8.0 required.")
endif()

if(EnGPar_VERSION VERSION_LESS 1.1.0)
message(FATAL_ERROR "EnGPar version >= 1.1.0 required.")
endif()

set(debug_flag)
if (PP_ENABLE_DEBUG_SYMBOLS)
set(debug_flag "-g")
Expand Down
Loading
Loading