Skip to content

Use amrex::GpuArray instead of std::array in deposition #1484

Use amrex::GpuArray instead of std::array in deposition

Use amrex::GpuArray instead of std::array in deposition #1484

Workflow file for this run

name: 🍏 macOS
on: [push, pull_request]
concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-macos
cancel-in-progress: true
jobs:
build_appleclang:
name: AppleClang
runs-on: macos-latest
if: github.event.pull_request.draft == false
env:
CXXFLAGS: "-Werror -Wno-error=pass-failed"
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: TRUE
# For macOS, Ninja is slower than the default:
#CMAKE_GENERATOR: Ninja
SETUPTOOLS_USE_DISTUTILS: stdlib
steps:
- uses: actions/checkout@v4
- name: Brew 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: |
/usr/local/Cellar/ccache
/usr/local/Cellar/fftw
/usr/local/Cellar/libomp
/usr/local/Cellar/ninja
/usr/local/Cellar/open-mpi
/usr/local/Cellar/openpmd-api
key: brew-macos-appleclang-${{ hashFiles('.github/workflows/macos.yml') }}
restore-keys: |
brew-macos-appleclang-
- name: install ccache
run: |
brew --cache
set +e
brew unlink gcc
brew update
brew install ccache --only-dependencies --force
brew install ccache
brew link ccache
- 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: /Users/runner/Library/Caches/ccache
key: ccache-macos-appleclang-${{ hashFiles('.github/workflows/macos.yml') }}-${{ hashFiles('cmake/dependencies/AMReX.cmake') }}-${{ github.event.repository.pushed_at }}
restore-keys: |
ccache-macos-appleclang-${{ hashFiles('.github/workflows/macos.yml') }}-
ccache-macos-appleclang-
- name: install dependencies
run: |
brew --cache
set +e
rm -rf /usr/local/bin/2to3*
rm -rf /usr/local/bin/idle3*
rm -rf /usr/local/bin/pydoc3*
rm -rf /usr/local/bin/python3*
brew install fftw --only-dependencies --force
brew install fftw
brew link fftw
brew install libomp --only-dependencies --force
brew install libomp
brew link --force libomp
brew install ninja --only-dependencies --force
brew install ninja
brew link ninja
brew install open-mpi --only-dependencies --force
brew install open-mpi
brew link open-mpi
brew install pkg-config
set -e
brew tap openpmd/openpmd
brew install openpmd-api --only-dependencies --force
brew install openpmd-api
brew link openpmd-api
- name: build HiPACE++
run: |
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=10
export CCACHE_MAXSIZE=100M
export CCACHE_SLOPPINESS=time_macros
ccache -z
cmake -S . -B build_sp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DHiPACE_openpmd_internal=OFF \
-DHiPACE_PRECISION=SINGLE
cmake --build build_sp -j 2
du -hs ~/Library/Caches/ccache
ccache -s
# - name: test HiPACE++
# run: |
# ctest --test-dir build_sp --output-on-failure