Skip to content

update perf script #127

update perf script

update perf script #127

Workflow file for this run

name: Build application
on: [push, pull_request]
jobs:
ubuntu-gcc-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup environment
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-12 g++-12
sudo apt-get install cppcheck ninja-build
sudo apt-get install mpich libmpich* mpi* openmpi-bin
sudo apt-get install libomp-dev
sudo apt-get install valgrind
python3 -m pip install xlsxwriter
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}
create-symlink: true
- name: CMake configure
run: >
cmake -S . -B build
-D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
-G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
-D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
-D CMAKE_BUILD_TYPE=RELEASE
env:
CC: gcc-12
CXX: g++-12
- name: Ninja build
run: |
cmake --build build
env:
CC: gcc-12
CXX: g++-12
- name: Check number tests
run: |
source scripts/run_num_test.sh
- name: Run func tests
run: |
export OMP_NUM_THREADS=4
source scripts/run.sh
ubuntu-clang-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup environment
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install clang-15
sudo apt-get install cppcheck ninja-build
sudo apt-get install mpich libmpich* mpi* openmpi-bin
sudo apt-get install libomp-15-dev
sudo apt-get install python3-pip
sudo apt-get install valgrind
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}
create-symlink: true
- name: CMake configure
run: >
cmake -S . -B build
-G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
-D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
-D CMAKE_BUILD_TYPE=RELEASE
env:
CC: clang-15
CXX: clang++-15
- name: Ninja build
run: |
cmake --build build
env:
CC: clang-15
CXX: clang++-15
- name: Run tests
run: |
export OMP_NUM_THREADS=4
source scripts/run.sh
ubuntu-clang-sanitizer-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup environment
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install clang-15
sudo apt-get install cppcheck ninja-build
sudo apt-get install mpich libmpich* mpi* openmpi-bin
sudo apt-get install libomp-15-dev
sudo apt-get install python3-pip
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}
create-symlink: true
- name: CMake configure
run: >
cmake -S . -B build
-D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
-G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
-D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
-D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON
env:
CC: clang-15
CXX: clang++-15
- name: Ninja build
run: |
cmake --build build
env:
CC: clang-15
CXX: clang++-15
- name: Run tests
run: |
export OMP_NUM_THREADS=4
export ASAN_RUN=1
source scripts/run.sh
macos-clang-build:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup environment
run: |
brew update-reset
brew install cppcheck ninja mpich llvm
brew install libomp
brew link libomp --overwrite --force
brew install openssl
brew link openssl --overwrite --force
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}
create-symlink: true
- name: CMake configure
run: >
cmake -S . -B build
-D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
-G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
-DCMAKE_C_FLAGS="-I$(brew --prefix)/opt/libomp/include" -DCMAKE_CXX_FLAGS="-I$(brew --prefix)/opt/libomp/include"
-D CMAKE_BUILD_TYPE=RELEASE -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
- name: Ninja build
run: |
cmake --build build
- name: Run tests
run: |
export OMP_NUM_THREADS=4
source scripts/run.sh
windows-msvc-build:
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1
- name: Setup MPI
uses: mpi4py/setup-mpi@v1
with:
mpi: msmpi
- name: Download dependencies
run: |
choco install openssl
- name: Setup ccache
uses: Chocobo1/setup-ccache-action@v1
with:
windows_compile_environment: msvc
- name: CMake configure
shell: bash
run: >
cmake -S . -B build
-D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
-D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
-D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
-D CMAKE_BUILD_TYPE=RELEASE
- name: MSBuild
shell: bash
run: |
cmake --build build --config Release --parallel
- name: Run tests
run: |
scripts/run.bat
env:
OMP_NUM_THREADS: 4
windows-clang-build:
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3.1
- name: CMake configure
run: >
cmake -S . -B build -A x64 -T ClangCL
-D USE_SEQ=ON -D USE_MPI=OFF -D USE_OMP=OFF -D USE_TBB=ON -D USE_STL=ON
-D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
-D CMAKE_BUILD_TYPE=RELEASE
env:
CC: clang-cl
CXX: clang-cl
- name: Ninja build
run: |
cmake --build build --config Release --parallel -v
env:
CC: clang-cl
CXX: clang-cl
- name: Run tests
run: |
scripts/run.bat
env:
CLANG_BUILD: 1
OMP_NUM_THREADS: 4