From 9ca24569dbc2a855995ef3b6061cd54049a7a833 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Tue, 3 Oct 2023 21:25:16 -0700 Subject: [PATCH 1/3] CI: Do not install google benchmarks and use different compiler versions --- .github/workflows/c-cpp.yml | 52 +++++++------------------------------ 1 file changed, 10 insertions(+), 42 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 762a24d2..96d24cb7 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -7,7 +7,7 @@ on: branches: [ "main" ] jobs: - SKL: + SKL-gcc9: runs-on: intel-ubuntu-latest @@ -17,15 +17,7 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-13 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 + sudo apt -y install g++-9 libgtest-dev meson curl git cmake - name: Install Intel SDE run: | @@ -35,7 +27,7 @@ jobs: - name: Build env: - CXX: g++-13 + CXX: g++-9 run: | make clean meson setup --warnlevel 2 --werror --buildtype release builddir @@ -45,7 +37,7 @@ jobs: - name: Run test suite on SKL run: sde -skl -- ./builddir/testexe - SKX: + SKX-gcc10: runs-on: intel-ubuntu-latest @@ -55,15 +47,7 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-13 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 + sudo apt -y install g++-10 libgtest-dev meson curl git cmake - name: Install Intel SDE run: | @@ -73,7 +57,7 @@ jobs: - name: Build env: - CXX: g++-13 + CXX: g++-10 run: | make clean meson setup --warnlevel 2 --werror --buildtype release builddir @@ -83,7 +67,7 @@ jobs: - name: Run test suite on SKX run: sde -skx -- ./builddir/testexe - TGL: + TGL-gcc11: runs-on: intel-ubuntu-latest @@ -93,15 +77,7 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-13 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 + sudo apt -y install g++-11 libgtest-dev meson curl git cmake - name: Install Intel SDE run: | @@ -111,7 +87,7 @@ jobs: - name: Build env: - CXX: g++-13 + CXX: g++-11 run: | make clean meson setup --warnlevel 2 --werror --buildtype release builddir @@ -120,7 +96,7 @@ jobs: - name: Run test suite on TGL run: sde -tgl -- ./builddir/testexe - SPR: + SPR-gcc13: runs-on: intel-ubuntu-latest @@ -132,14 +108,6 @@ jobs: sudo apt update sudo apt -y install g++-13 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/784319/sde-external-9.24.0-2023-07-13-lin.tar.xz From 3d0f018e221371e04738adc8804bc5ad7577698a Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Wed, 4 Oct 2023 10:27:12 -0700 Subject: [PATCH 2/3] Mark UNUSED variables void --- src/avx512-common-qsort.h | 2 ++ src/xss-network-qsort.hpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/avx512-common-qsort.h b/src/avx512-common-qsort.h index 99717207..6ea13ce2 100644 --- a/src/avx512-common-qsort.h +++ b/src/avx512-common-qsort.h @@ -68,6 +68,7 @@ #define SHUFFLE_MASK(a, b, c, d) (a << 6) | (b << 4) | (c << 2) | d #define PRAGMA(x) _Pragma(#x) +#define UNUSED(x) (void)(x) /* Compiler specific macros specific */ #ifdef _MSC_VER @@ -929,6 +930,7 @@ avx512_qselect(T *arr, arrsize_t k, arrsize_t arrsize, bool hasnan = false) indx_last_elem = move_nans_to_end_of_array(arr, arrsize); } } + UNUSED(hasnan); if (indx_last_elem >= k) { qselect_, T>( arr, k, 0, indx_last_elem, 2 * (arrsize_t)log2(indx_last_elem)); diff --git a/src/xss-network-qsort.hpp b/src/xss-network-qsort.hpp index ddfa615a..67afc2d4 100644 --- a/src/xss-network-qsort.hpp +++ b/src/xss-network-qsort.hpp @@ -54,8 +54,10 @@ template X86_SIMD_SORT_INLINE void bitonic_fullmerge_n_vec(reg_t *regs) { - if constexpr (numPer > numVecs) + if constexpr (numPer > numVecs) { + UNUSED(regs); return; + } else { X86_SIMD_SORT_UNROLL_LOOP(64) for (int i = 0; i < numVecs / numPer; i++) { From e299b91a1867400fb6e8d032004f94bd4a498968 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Wed, 4 Oct 2023 10:30:56 -0700 Subject: [PATCH 3/3] Use header file cstddef for size_t --- lib/x86simdsort.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/x86simdsort.h b/lib/x86simdsort.h index e3f54b39..f7a4aa8d 100644 --- a/lib/x86simdsort.h +++ b/lib/x86simdsort.h @@ -2,6 +2,7 @@ #define X86_SIMD_SORT #include #include +#include #define XSS_EXPORT_SYMBOL __attribute__((visibility("default"))) #define XSS_HIDE_SYMBOL __attribute__((visibility("hidden")))