From e6b75b793c5cc73e752a040570ce729a56e4eb3e Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Mon, 18 Dec 2023 12:53:28 -0800 Subject: [PATCH 1/4] CI: build and test on 32-bit linux --- .github/workflows/build-test-on-32bit.sh | 30 ++++++++++++++++++++++++ .github/workflows/c-cpp.yml | 12 ++++++++++ 2 files changed, 42 insertions(+) create mode 100644 .github/workflows/build-test-on-32bit.sh diff --git a/.github/workflows/build-test-on-32bit.sh b/.github/workflows/build-test-on-32bit.sh new file mode 100644 index 00000000..b0108ab2 --- /dev/null +++ b/.github/workflows/build-test-on-32bit.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +## Set up environment +/opt/python/cp39-cp39/bin/python -mvenv venv +source venv/bin/activate +python3 -m pip install meson ninja +export CXX=g++ + +## Install google test from source +git clone https://github.com/google/googletest.git -b v1.14.0 +cd googletest +mkdir build +cd build +cmake .. -DBUILD_GMOCK=OFF +make install + +## Install Intel SDE +curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/784319/sde-external-9.24.0-2023-07-13-lin.tar.xz +mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ +mv /tmp/sde/* /opt/sde && ln -s /opt/sde/sde /usr/bin/sde + +## Build x86-simd-sort +cd /xss +meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir +cd builddir +ninja + +## Run tests +sde -tgl -- ./testexe +sde -skl -- ./testexe diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 3929c355..393f9211 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -167,3 +167,15 @@ jobs: - name: Run test suite on SPR run: sde -spr -- ./builddir/testexe + + 32-bit: + + runs-on: intel-ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - script : | + docker run -v $(pwd):/xss quay.io/pypa/manylinux2014_i686 \ + /bin/bash -xc "source /xss/.github/workflows/build-test-on-32bit.sh" + displayName: 'Build and test on 32-bit manylinux2014' From de796ea09067744ee4f92e6bcc759af328ed70cf Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Mon, 18 Dec 2023 12:56:35 -0800 Subject: [PATCH 2/4] Fix keywork --- .github/workflows/c-cpp.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 393f9211..1b81d219 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -175,7 +175,7 @@ jobs: steps: - uses: actions/checkout@v3 - - script : | + - name: Build and test on 32-bit manylinux2014 + run: | docker run -v $(pwd):/xss quay.io/pypa/manylinux2014_i686 \ /bin/bash -xc "source /xss/.github/workflows/build-test-on-32bit.sh" - displayName: 'Build and test on 32-bit manylinux2014' From 04520cc46ff7dc109cd074b07935d79f102035bd Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Mon, 18 Dec 2023 12:58:57 -0800 Subject: [PATCH 3/4] Fix name --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 1b81d219..8d7ade2b 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -168,7 +168,7 @@ jobs: - name: Run test suite on SPR run: sde -spr -- ./builddir/testexe - 32-bit: + manylinux-32bit: runs-on: intel-ubuntu-latest From ae77a2269f6aab1f560b79fe8dca7c5fc7d48d18 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Mon, 18 Dec 2023 13:20:25 -0800 Subject: [PATCH 4/4] Split tests on TGL and SPR --- .github/workflows/build-numpy.yml | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-numpy.yml b/.github/workflows/build-numpy.yml index f992586a..44d777c3 100644 --- a/.github/workflows/build-numpy.yml +++ b/.github/workflows/build-numpy.yml @@ -9,7 +9,7 @@ on: - cron: '0 5 * * *' jobs: - NumPyMultiarrayTests: + np-multiarray-tgl: runs-on: intel-ubuntu-latest @@ -42,6 +42,12 @@ jobs: with: python-version: '3.11' + - name: Install Intel SDE + run: | + curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/788820/sde-external-9.27.0-2023-09-13-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: Install NumPy dependencies working-directory: ${{ github.workspace }}/numpy run: | @@ -66,10 +72,9 @@ jobs: export NUMPY_SITE=$(realpath build-install/usr/lib/python*/site-packages/) export PYTHONPATH="$PYTHONPATH:$NUMPY_SITE" cd build-install && - python -c "import numpy; numpy.show_config()" && - python -m pytest $NUMPY_SITE/numpy/_core/tests/test_multiarray.py + sde -tgl -- python -m pytest $NUMPY_SITE/numpy/_core/tests/test_multiarray.py - NumPy-SPR-baseline: + np-multiarray-spr: runs-on: intel-ubuntu-latest @@ -130,15 +135,6 @@ jobs: run: | spin build -- -Dallow-noblas=true -Dcpu-baseline=avx512_spr - - name: Run tests on TGL - working-directory: ${{ github.workspace }}/numpy - run: | - export NUMPY_SITE=$(realpath build-install/usr/lib/python*/site-packages/) - export PYTHONPATH="$PYTHONPATH:$NUMPY_SITE" - cd build-install && - sde -tgl -- python -c "import numpy; numpy.show_config()" && - sde -tgl -- python -m pytest $NUMPY_SITE/numpy/_core/tests/test_multiarray.py - - name: Run tests on SPR working-directory: ${{ github.workspace }}/numpy run: |