Compensated Sum for Global Coordinates #6501
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🐧 OpenMP | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }}-${{ github.head_ref }}-ubuntu | |
cancel-in-progress: true | |
jobs: | |
build_gcc: | |
name: GCC w/ MPI w/ Python | |
runs-on: ubuntu-22.04 | |
if: github.event.pull_request.draft == false | |
env: | |
CMAKE_GENERATOR: Ninja | |
CXXFLAGS: "-Werror" | |
OMP_NUM_THREADS: 2 | |
steps: | |
- name: Free More Disk Space | |
uses: ax3l/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: false # apt takes ~1:30min | |
docker-images: true | |
swap-storage: false | |
- uses: actions/checkout@v5 | |
- name: install dependencies | |
run: | | |
.github/workflows/dependencies/gcc-openmpi.sh | |
- name: CCache Cache | |
uses: actions/cache@v4 | |
# - once stored under a key, they become immutable (even if local cache path content changes) | |
# - for a refresh the key has to change, e.g., hash of a tracked file in the key | |
with: | |
path: | | |
~/.ccache | |
~/.cache/ccache | |
key: ccache-openmp-gcc-${{ hashFiles('.github/workflows/ubuntu.yml') }}-${{ hashFiles('cmake/dependencies/ABLASTR.cmake') }} | |
restore-keys: | | |
ccache-openmp-gcc-${{ hashFiles('.github/workflows/ubuntu.yml') }}- | |
ccache-openmp-gcc- | |
- name: system info | |
run: | | |
cat /proc/cpuinfo | |
lscpu | |
- name: build ImpactX | |
run: | | |
cmake -S . -B build \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DCMAKE_INSTALL_PREFIX=$HOME/.local \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DImpactX_FFT=ON \ | |
-DImpactX_PYTHON=ON \ | |
-DImpactX_TEST_CLEANUP=ON \ | |
-DImpactX_UNITY_BUILD=ON \ | |
-DMPIEXEC_POSTFLAGS="--use-hwthread-cpus" | |
cmake --build build -j 4 | |
- name: run tests | |
run: | | |
ctest --test-dir build --output-on-failure --label-exclude slow | |
- name: Upload dashboard screenshots | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dashboard-screenshots-ubuntu | |
path: | | |
build/**/pytest.ImpactX.dashboard/screenshots/**/*.png | |
build/**/screenshots/**/*.png | |
if-no-files-found: ignore | |
- name: run installed app | |
run: | | |
cmake --build build --target install | |
export PATH=$HOME/.local/bin:$PATH | |
export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH | |
impactx.MPI.OMP.DP.OPMD.DEBUG examples/fodo/input_fodo.in algo.particle_shape = 1 || \ | |
{ cat Backtrace.0.0; exit 1; } | |
impactx.MPI.OMP.DP.OPMD.DEBUG examples/fodo/input_fodo.in algo.particle_shape = 2 || \ | |
{ cat Backtrace.0.0; exit 1; } | |
impactx.MPI.OMP.DP.OPMD.DEBUG examples/fodo/input_fodo.in algo.particle_shape = 3 || \ | |
{ cat Backtrace.0.0; exit 1; } | |
- name: run installed python module | |
run: | | |
cmake --build build --target pip_install | |
python3 examples/fodo/run_fodo.py | |
- name: validate created openPMD files | |
run: find build -name *.h5 | xargs -n1 -I{} openPMD_check_h5 -i {} | |
build_gcc_python: | |
name: GCC w/ SIMD w/o MPI w/ Python | |
runs-on: ubuntu-22.04 | |
if: github.event.pull_request.draft == false | |
env: | |
CMAKE_GENERATOR: Ninja | |
CXXFLAGS: "-Werror" | |
OMP_NUM_THREADS: 2 | |
steps: | |
- name: Free More Disk Space | |
uses: ax3l/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: false # apt takes ~1:30min | |
docker-images: true | |
swap-storage: false | |
- uses: actions/checkout@v5 | |
- name: install dependencies | |
run: | | |
.github/workflows/dependencies/gcc.sh | |
- name: CCache Cache | |
uses: actions/cache@v4 | |
# - once stored under a key, they become immutable (even if local cache path content changes) | |
# - for a refresh the key has to change, e.g., hash of a tracked file in the key | |
with: | |
path: | | |
~/.ccache | |
~/.cache/ccache | |
key: ccache-openmp-pygcc-${{ hashFiles('.github/workflows/ubuntu.yml') }}-${{ hashFiles('cmake/dependencies/ABLASTR.cmake') }} | |
restore-keys: | | |
ccache-openmp-pygcc-${{ hashFiles('.github/workflows/ubuntu.yml') }}- | |
ccache-openmp-pygcc- | |
- name: build ImpactX | |
run: | | |
cmake -S . -B build \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DCMAKE_INSTALL_PREFIX=$HOME/.local \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DImpactX_FFT=ON \ | |
-DImpactX_MPI=OFF \ | |
-DImpactX_PYTHON=ON \ | |
-DImpactX_SIMD=ON \ | |
-DImpactX_TEST_CLEANUP=ON | |
cmake --build build -j 4 | |
- name: run tests | |
run: | | |
ctest --test-dir build --output-on-failure --label-exclude slow | |
- name: run installed app | |
run: | | |
cmake --build build --target install | |
export PATH=$HOME/.local/bin:$PATH | |
export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH | |
impactx.NOMPI.OMP.DP.OPMD.DEBUG examples/fodo/input_fodo.in algo.particle_shape = 1 || \ | |
{ cat Backtrace.0.0; exit 1; } | |
impactx.NOMPI.OMP.DP.OPMD.DEBUG examples/fodo/input_fodo.in algo.particle_shape = 2 || \ | |
{ cat Backtrace.0.0; exit 1; } | |
impactx.NOMPI.OMP.DP.OPMD.DEBUG examples/fodo/input_fodo.in algo.particle_shape = 3 || \ | |
{ cat Backtrace.0.0; exit 1; } | |
- name: run installed python module | |
run: | | |
cmake --build build --target pip_install | |
python3 examples/fodo/run_fodo.py | |
- name: validate created openPMD files | |
run: find build -name *.h5 | xargs -n1 -I{} openPMD_check_h5 -i {} | |
- name: build ImpactX (SP) w/o running | |
run: | | |
cmake -S . -B build_sp \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=$HOME/.local \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DImpactX_FFT=ON \ | |
-DImpactX_MPI=OFF \ | |
-DImpactX_PRECISION=SINGLE \ | |
-DImpactX_PYTHON=ON \ | |
-DImpactX_SIMD=ON \ | |
-DImpactX_TEST_CLEANUP=ON | |
cmake --build build_sp -j 4 |