Skip to content

perf(examples): optimize mandelbrot_core by replacing multiplication-… #58

perf(examples): optimize mandelbrot_core by replacing multiplication-…

perf(examples): optimize mandelbrot_core by replacing multiplication-… #58

Workflow file for this run

name: Linux
on:
push:
branches: [ master, main ]
pull_request:
branches: [ master, main ]
jobs:
scalar:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build --config Release
- name: Run tests
run: ctest --test-dir build -C Release --output-on-failure -V
avx2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DSIMD_F128_AVX2=ON
- name: Build
run: cmake --build build --config Release
- name: Run tests
run: ctest --test-dir build -C Release --output-on-failure -V
sse2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DSIMD_F128_AVX2=OFF
- name: Build
run: cmake --build build --config Release
- name: Run tests
run: ctest --test-dir build -C Release --output-on-failure -V
riscv64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install RISC-V toolchain and QEMU
run: |
sudo apt-get update -q
sudo apt-get install -y gcc-riscv64-linux-gnu qemu-user
- name: Compile and run (RISC-V64 Scalar via QEMU)
run: |
riscv64-linux-gnu-gcc tests/test_arithmetic.c \
-O3 -lm -static -o test_riscv64
qemu-riscv64 ./test_riscv64
python_bindings:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: python -m pip install --upgrade pip setuptools pybind11
- name: Build and install simd-f128 Python module
run: pip install .
- name: Run Python binding tests
run: python tests/test_python.py