Compare commits

..

No commits in common. "rawhide" and "f36" have entirely different histories.

4 changed files with 129 additions and 15 deletions

View file

@ -0,0 +1,45 @@
From 8b64740e323b12dfd7b410d152fde94d6d1b120b Mon Sep 17 00:00:00 2001
From: Benson Muite <bkmgit@users.noreply.github.com>
Date: Sun, 19 Mar 2023 12:55:27 +0300
Subject: [PATCH 1/2] Need meson file in utils
---
utils/meson.build | 7 +++++++
1 file changed, 7 insertions(+)
create mode 100644 utils/meson.build
diff --git a/utils/meson.build b/utils/meson.build
new file mode 100644
index 0000000..5772e98
--- /dev/null
+++ b/utils/meson.build
@@ -0,0 +1,7 @@
+libcpuinfo = []
+
+libcpuinfo += static_library('cpuinfo',
+ files('cpuinfo.cpp'),
+ include_directories : [src],
+ cpp_args : ['-O3'],
+)
From a4f58dc6d076544e25ce88141d957dd2af3961df Mon Sep 17 00:00:00 2001
From: Benson Muite <bkmgit@users.noreply.github.com>
Date: Mon, 20 Mar 2023 10:17:36 +0300
Subject: [PATCH 2/2] src not needed
Co-authored-by: Raghuveer Devulapalli <raghuveer.devulapalli@intel.com>
---
utils/meson.build | 1 -
1 file changed, 1 deletion(-)
diff --git a/utils/meson.build b/utils/meson.build
index 5772e98..5f34453 100644
--- a/utils/meson.build
+++ b/utils/meson.build
@@ -2,6 +2,5 @@ libcpuinfo = []
libcpuinfo += static_library('cpuinfo',
files('cpuinfo.cpp'),
- include_directories : [src],
cpp_args : ['-O3'],
)

63
meson-build.patch Normal file
View file

@ -0,0 +1,63 @@
--- a/meson.build 2023-03-17 16:52:07.106254624 +0200
+++ b/meson.build 2023-03-17 17:00:23.484367054 +0200
@@ -3,12 +3,12 @@
license : 'BSD 3-clause')
cc = meson.get_compiler('c')
cpp = meson.get_compiler('cpp')
-src = include_directories('./src')
-bench = include_directories('./benchmarks')
-utils = include_directories('./utils')
-tests = include_directories('./tests')
+src = include_directories('src')
+utils = include_directories('utils')
+tests = include_directories('tests')
gtest_dep = dependency('gtest', fallback : ['gtest', 'gtest_dep'])
-subdir('./tests')
+subdir('src')
+subdir('tests')
testexe = executable('testexe', 'tests/main.cpp',
dependencies : gtest_dep,
@@ -17,16 +17,18 @@
]
)
-benchexe = executable('benchexe', 'benchmarks/main.cpp',
- include_directories : [
- src,
- utils,
- bench,
- ],
- cpp_args : [
- '-O3',
- '-march=icelake-client',
- ],
- dependencies : [],
- link_whole : [],
- )
+test('test', testexe)
+
+#
+# x86-simd-sort.pc generation
+#
+datadir = get_option('datadir')
+pkgconfig_dir = join_paths(get_option('prefix'), datadir, 'pkgconfig')
+
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(name : meson.project_name(),
+ description : 'x86-simd-sort headers',
+ version : meson.project_version(),
+ subdirs : 'x86-simd-sort',
+ install_dir : pkgconfig_dir,
+ variables : 'datadir=@0@'.format(join_paths('${prefix}', datadir)))
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,8 @@
+x86_simd_sort_headers = [
+ 'avx512-16bit-qsort.hpp',
+ 'avx512-32bit-qsort.hpp',
+ 'avx512-64bit-qsort.hpp',
+ 'avx512-common-qsort.h',
+]
+
+install_headers(x86_simd_sort_headers)

View file

@ -1 +1 @@
SHA512 (x86-simd-sort-7.0.tar.gz) = de217d35a98da3b269454eaa8a2880b9aa36e4906670d0434799a45a8dcbe6d3fdf56cb16b683be510e34e0636b035e9de88a7b6e68b41e1eecceb5ecac4fe4a
SHA512 (x86-simd-sort-1.0.tar.gz) = d7c3c0bfc3eae53df248b0c690fcbecdbd96a04dbea165f783511c1d4ae0f1f1c74375422b9d893fa9ccbeb52a87b35de36dfc9bf312d777d9ae62adce9b429d

View file

@ -1,12 +1,18 @@
%global debug_package %{nil}
Name: x86-simd-sort
Version: 7.0
Version: 1.0
Release: %autorelease
Summary: C++ template library for high performance SIMD based sorting algorithms
Summary: C++ header file library for high performance SIMD based sorting algorithms
License: BSD-3-Clause
URL: https://github.com/intel/x86-simd-sort
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0: meson-build.patch
# https://github.com/intel/x86-simd-sort/commit/1735e86cda95a469357a19ab8984ad8530372e75
Patch1: 1735e86cda95a469357a19ab8984ad8530372e75.patch
# C++ header file library for x86 processors.
ExclusiveArch: x86_64
@ -15,14 +21,17 @@ BuildRequires: gtest-devel
BuildRequires: meson
%description
C++ template library for high performance SIMD based sorting routines for
16-bit, 32-bit and 64-bit data types. The sorting routines are accelerated
using AVX-512/AVX2 when available. The library auto picks the best version
depending on the processor it is run on.
C++ header file library for SIMD based 16-bit, 32-bit and 64-bit data type
sorting on x86 processors. Source header files are available in src directory.
We currently only have AVX-512 based implementation of quicksort. This
repository also includes a test suite which can be built and run to test the
sorting algorithms for correctness. It also has benchmarking code to compare
its performance relative to std::sort.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildArch: noarch
Provides: %{name}-static = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
@ -41,15 +50,12 @@ applications that use %{name}.
%check
%meson_test -v
%files
%files devel
%license LICENSE.md
%doc README.md
%{_libdir}/libx86simdsortcpp.so.1
%files devel
%{_includedir}/x86simdsort.h
%{_libdir}/libx86simdsortcpp.so
%{_libdir}/pkgconfig/x86simdsortcpp.pc
%{_includedir}/*.h
%{_includedir}/*.hpp
%{_datadir}/pkgconfig/%{name}.pc
%changelog
%autochangelog