]> git.pld-linux.org Git - packages/xsimd.git/commitdiff
- updated to 12.1.1 (DEVEL branch: xtensor 0.25.0 is not ready for) DEVEL-12
authorJakub Bogusz <qboosh@pld-linux.org>
Thu, 1 Feb 2024 20:00:00 +0000 (21:00 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Thu, 1 Feb 2024 20:00:00 +0000 (21:00 +0100)
xsimd-batch.patch [new file with mode: 0644]
xsimd.spec

diff --git a/xsimd-batch.patch b/xsimd-batch.patch
new file mode 100644 (file)
index 0000000..5ce2c91
--- /dev/null
@@ -0,0 +1,53 @@
+--- xsimd-12.1.1/benchmark/xsimd_benchmark.hpp.orig    2023-12-12 17:17:27.000000000 +0100
++++ xsimd-12.1.1/benchmark/xsimd_benchmark.hpp 2024-01-27 17:26:01.805384962 +0100
+@@ -337,11 +337,11 @@ namespace xsimd
+         duration_type t_double_scalar = benchmark_scalar(f, d_lhs, d_res, iter);
+ #endif
+-        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_res, iter);
+-        duration_type t_float_vector_u = benchmark_simd_unrolled<batch<float>>(f, f_lhs, f_res, iter);
++        duration_type t_float_vector = benchmark_simd<batch<float, default_arch>>(f, f_lhs, f_res, iter);
++        duration_type t_float_vector_u = benchmark_simd_unrolled<batch<float, default_arch>>(f, f_lhs, f_res, iter);
+ #if !XSIMD_WITH_NEON || XSIMD_WITH_NEON64
+-        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_res, iter);
+-        duration_type t_double_vector_u = benchmark_simd_unrolled<batch<double>>(f, d_lhs, d_res, iter);
++        duration_type t_double_vector = benchmark_simd<batch<double, default_arch>>(f, d_lhs, d_res, iter);
++        duration_type t_double_vector_u = benchmark_simd_unrolled<batch<double, default_arch>>(f, d_lhs, d_res, iter);
+ #endif
+         out << "============================" << std::endl;
+@@ -372,13 +372,13 @@ namespace xsimd
+         init_benchmark(d_lhs, d_rhs, d_res, size);
+         duration_type t_float_scalar = benchmark_scalar(f, f_lhs, f_rhs, f_res, iter);
+-        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_rhs, f_res, iter);
+-        duration_type t_float_vector_u = benchmark_simd_unrolled<batch<float>>(f, f_lhs, f_rhs, f_res, iter);
++        duration_type t_float_vector = benchmark_simd<batch<float, default_arch>>(f, f_lhs, f_rhs, f_res, iter);
++        duration_type t_float_vector_u = benchmark_simd_unrolled<batch<float, default_arch>>(f, f_lhs, f_rhs, f_res, iter);
+         duration_type t_double_scalar = benchmark_scalar(f, d_lhs, d_rhs, d_res, iter);
+ #if !XSIMD_WITH_NEON || XSIMD_WITH_NEON64
+-        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_rhs, d_res, iter);
+-        duration_type t_double_vector_u = benchmark_simd_unrolled<batch<double>>(f, d_lhs, d_rhs, d_res, iter);
++        duration_type t_double_vector = benchmark_simd<batch<double, default_arch>>(f, d_lhs, d_rhs, d_res, iter);
++        duration_type t_double_vector_u = benchmark_simd_unrolled<batch<double, default_arch>>(f, d_lhs, d_rhs, d_res, iter);
+ #endif
+         out << "============================" << std::endl;
+@@ -404,12 +404,12 @@ namespace xsimd
+         init_benchmark(d_op0, d_op1, d_op2, d_res, size);
+         duration_type t_float_scalar = benchmark_scalar(f, f_op0, f_op1, f_op2, f_res, iter);
+-        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_op0, f_op1, f_op2, f_res, iter);
+-        duration_type t_float_vector_u = benchmark_simd_unrolled<batch<float>>(f, f_op0, f_op1, f_op2, f_res, iter);
++        duration_type t_float_vector = benchmark_simd<batch<float, default_arch>>(f, f_op0, f_op1, f_op2, f_res, iter);
++        duration_type t_float_vector_u = benchmark_simd_unrolled<batch<float, default_arch>>(f, f_op0, f_op1, f_op2, f_res, iter);
+         duration_type t_double_scalar = benchmark_scalar(f, d_op0, d_op1, d_op2, d_res, iter);
+ #if !XSIMD_WITH_NEON || XSIMD_WITH_NEON64
+-        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_op0, d_op1, d_op2, d_res, iter);
+-        duration_type t_double_vector_u = benchmark_simd_unrolled<batch<double>>(f, d_op0, d_op1, d_op2, d_res, iter);
++        duration_type t_double_vector = benchmark_simd<batch<double, default_arch>>(f, d_op0, d_op1, d_op2, d_res, iter);
++        duration_type t_double_vector_u = benchmark_simd_unrolled<batch<double, default_arch>>(f, d_op0, d_op1, d_op2, d_res, iter);
+ #endif
+         out << "============================" << std::endl;
index cf95fbf7e1583b605f23d374a8f2b86a2b859a9b..2680d7283cf4b8cc618a5bd29d30cc65651f3ad0 100644 (file)
@@ -1,20 +1,23 @@
 #
 # Conditional build:
 %bcond_without apidocs         # API documentation
+%bcond_with    tests           # building tests and benchmarks
 %bcond_with    xtl             # XTL xcomplex support
 #
 Summary:       C++ wrappers for SIMD intrinsics
 Summary(pl.UTF-8):     Opakowanie C++ dla operacji SIMD
 Name:          xsimd
-Version:       11.1.0
+Version:       12.1.1
 Release:       1
 License:       BSD
 Group:         Libraries
 #Source0Download: https://github.com/xtensor-stack/xsimd/tags
 Source0:       https://github.com/xtensor-stack/xsimd/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 29ffd841d6491fddfbfaedeffc637f02
+# Source0-md5: e8887de343bd6036bdfa1f4a4752dc64
+Patch0:                %{name}-batch.patch
 URL:           https://xsimd.readthedocs.io/
 BuildRequires: cmake >= 3.1
+%{?with_tests:BuildRequires:   doctest >= 2.4.9}
 BuildRequires: libstdc++-devel >= 6:4.7
 %{?with_xtl:BuildRequires:     libstdc++-devel >= 6:5}
 BuildRequires: rpmbuild(macros) >= 1.605
@@ -28,6 +31,11 @@ BuildRequires:       sphinx-pdg-3
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%if %{with tests}
+# SSE2 is the lowest supported path
+%define                specflags_ia32  -msse2
+%endif
+
 %description
 SIMD (Single Instruction, Multiple Data) is a feature of
 microprocessors that has been available for many years. SIMD
@@ -105,13 +113,16 @@ Dokumentacja API biblioteki xsimd.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 install -d build
 cd build
 # fake LIBDIR so we can create noarch package
 %cmake .. \
-       -DCMAKE_INSTALL_LIBDIR=%{_datadir}
+       -DCMAKE_INSTALL_LIBDIR=%{_datadir} \
+       %{?with_tests:-DBUILD_BENCHMARK=ON} \
+       %{?with_tests:-DBUILD_TESTS=ON}
 
 %{__make}
 cd ..
This page took 0.101548 seconds and 4 git commands to generate.