Skip to content

Build shared library with runtime ISA dispatch #162

Build shared library with runtime ISA dispatch

Build shared library with runtime ISA dispatch #162

Workflow file for this run

name: Build and run tests
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
ICX:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt update
sudo apt -y install g++-10 libgtest-dev meson curl git cmake
- name: Install google benchmarks
run: |
git clone https://github.com/google/benchmark.git
cd benchmark
cmake -E make_directory "build"
cmake -E chdir "build" cmake -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ../
sudo cmake --build "build" --config Release --target install
- name: Install Intel SDE
run: |
curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/732268/sde-external-9.7.0-2022-05-09-lin.tar.xz
mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/
sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde
- name: Build
env:
CXX: g++-10
run: |
make clean
meson setup --warnlevel 2 --werror --buildtype plain builddir
cd builddir
ninja
- name: Run test suite on ICX
run: sde -icx -- ./builddir/testexe
SPR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt update
sudo apt -y install g++-12 libgtest-dev meson curl git cmake
- name: Install google benchmarks
run: |
git clone https://github.com/google/benchmark.git
cd benchmark
cmake -E make_directory "build"
cmake -E chdir "build" cmake -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ../
sudo cmake --build "build" --config Release --target install
- name: Install Intel SDE
run: |
curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/732268/sde-external-9.7.0-2022-05-09-lin.tar.xz
mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/
sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde
- name: Build
env:
CXX: g++-12
run: |
make clean
meson setup --warnlevel 2 --werror --buildtype plain builddir
cd builddir
ninja
- name: Run _Float16 test suite on SPR
run: sde -spr -- ./builddir/testexe --gtest_filter="*float16*"
compare-benchmarks-with-main:
if: ${{ false }} # disable for now
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
path: x86-simd-sort
- name: Specify branch name
working-directory: ${{ github.workspace }}/x86-simd-sort
run: git switch -c pr-branch
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: |
sudo apt update
sudo apt -y install g++-12 libgtest-dev meson curl git cmake
- name: Install google benchmarks
run: |
git clone https://github.com/google/benchmark.git
cd benchmark
pip3 install -r tools/requirements.txt
cmake -E make_directory "build"
cmake -E chdir "build" cmake -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ../
sudo cmake --build "build" --config Release --target install
- name: Run bench-compare
working-directory: ${{ github.workspace }}/x86-simd-sort
env:
CXX: g++-12
GBENCH: ${{ github.workspace }}/benchmark
run: bash -x scripts/branch-compare.sh avx