From d51dee58572f6bb0e731ae582afe8989abf69a4283d75a30175012a0bbbd96e4 Mon Sep 17 00:00:00 2001 From: Dmitry Roshchin Date: Mon, 10 Feb 2025 20:35:02 +0000 Subject: [PATCH] - Disable LTO on riscv64 OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=29 --- .gitattributes | 23 +++ .gitignore | 1 + volk-3.1.2.tar.xz | 3 + volk-3.1.2.tar.xz.asc | 14 ++ volk-3.2.0.tar.xz | 3 + volk-3.2.0.tar.xz.asc | 14 ++ volk.changes | 338 ++++++++++++++++++++++++++++++++++++++++++ volk.keyring | 41 +++++ volk.spec | 115 ++++++++++++++ 9 files changed, 552 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 volk-3.1.2.tar.xz create mode 100644 volk-3.1.2.tar.xz.asc create mode 100644 volk-3.2.0.tar.xz create mode 100644 volk-3.2.0.tar.xz.asc create mode 100644 volk.changes create mode 100644 volk.keyring create mode 100644 volk.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/volk-3.1.2.tar.xz b/volk-3.1.2.tar.xz new file mode 100644 index 0000000..facc2b4 --- /dev/null +++ b/volk-3.1.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce62f645c2ee3ef8b38f923de78ef4df9a1b7696d618f57781955803ee29bab3 +size 381388 diff --git a/volk-3.1.2.tar.xz.asc b/volk-3.1.2.tar.xz.asc new file mode 100644 index 0000000..137fe51 --- /dev/null +++ b/volk-3.1.2.tar.xz.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCgAdFiEEYP2fX9zcnIzoe6UVBXnWl3LNmyIFAmXbCW4ACgkQBXnWl3LN +myIrXwwAiW/OsQ5xvhQFaiotElu4sBthdfkgsbPlnO1qkrgHbSOK7ULvt1MY9VbV +Alm8PtD2NQBlC0MJUlwgtX0AWyiM81xRCejsn1FhVhMmDzsEFCMR5OnCs7BGCSwH +zHCuN/jxEZ3wDTeDwPtFH0Lb769nQ2TVy0QARcwUTkgVJtXV1lbAFsKMksQXunxE +9IQXvrdKnEOeNn7lPx9o+NN+z284pPE+efA25Ts1gTSydm8fFPh2chK6HJqz1H64 +Fh2D/kfYbE8yZjKLXnDPrDSHp0QUeWKtr1VhjyeV6Jmn6/VA81yM2IuTfQ3yrhw5 +N/+bU5QwrR4HqtSyIZbaF81k/2gdDTeFrh3lE6CUINHuXjd3th2mNlfjmPxTIYVB +I0T9ku08Euhw5kSELnMH6tkwPQbbwTgmqM0K1Ym80ZPYoAxFfsm0MzOUTRkhl9d5 +0FamvWKnm021uD4p3/vB+GVO29CUzqSDEHVi6pU2yoE6FcQcoQmO3ElOHzEUzcCT +M9wM8swH +=cObP +-----END PGP SIGNATURE----- diff --git a/volk-3.2.0.tar.xz b/volk-3.2.0.tar.xz new file mode 100644 index 0000000..4fc1f29 --- /dev/null +++ b/volk-3.2.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93fcf717545f5e60491c57fd8dd348d814d3f95332d9dada5e53ab38015ff90a +size 399816 diff --git a/volk-3.2.0.tar.xz.asc b/volk-3.2.0.tar.xz.asc new file mode 100644 index 0000000..fd34e97 --- /dev/null +++ b/volk-3.2.0.tar.xz.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCgAdFiEEYP2fX9zcnIzoe6UVBXnWl3LNmyIFAmehP0kACgkQBXnWl3LN +myLA6gv8CckL/RB0OdrHmzVhkxuDvyh2Tph+UpfL6Z1Pnvd2jmzLXGRPk7N1u7c+ +J2XBKpi+K37l0Airs0Mqs07iAtuK7Ij7++YBdJBx772rGiTe7lot9ZoY0yIYdO7x +btVNQIHikkWStpbs+qsHZase7mly/d6XmMweO8MEnOhZ/pnaBxpLVmTx5u6ZOc8S +eok8B4cpR3+m9VQY9eG/4PPZqxGm/hVdyzNvhAR0kgmrtnucYEJKKpRFFp0SWegt +46Jcj3usVJ32BfHwl8bp2g3x6u/OTYYujQAY7DoEeFWvzfKYRCy2kK1dUrfx2717 +SzPBgormsK/kKALgvcXkE1pYzmnWYT4jtIqcUMeL6dKxSjAMiAelL72cuJzbGW9k +smfKFG8pfNHduc9aAJ09fcrCZJLfDeICAg7ufMf4psk6WvYJtJmvvrT3rOph+spi +c8k6fckOzKrknprfaDfmc7MJZVROblilLBI216UMSd/JbhhBXUWnoc7P+TR92D9g +p4gJJb7R +=hnP+ +-----END PGP SIGNATURE----- diff --git a/volk.changes b/volk.changes new file mode 100644 index 0000000..54d4bf2 --- /dev/null +++ b/volk.changes @@ -0,0 +1,338 @@ +------------------------------------------------------------------- +Mon Feb 10 15:36:23 UTC 2025 - Andreas Schwab + +- Disable LTO on riscv64 + +------------------------------------------------------------------- +Tue Feb 4 00:25:00 UTC 2025 - Wojciech Kazubski + +- Update to version 3.2.0 + New and improved kernels + * add RISC-V Vector extension (RVV) kernels + * New AVX512F implementation + Improved and modernized CI + * ci: Add first native Linux ARM runners + * macos: Fix CI dependency error + * appveyor: Update to VS 2022/Python 3.12 + * Update android_build.yml + Improved builds + * cmake: Fix 64bit host CPU detection + * cmake: Suppress invalid escape sequence warnings with Python 3.12 + * cmake/pkgconfig: use CMAKE_INSTALL_FULL_* variables + * cmake: Fix VOLK as a submodule build issue + * Adds toolchain file for Raspberry Pi 5 + New and improved tests + * gtest: Start work on new test infrastructure + * tests: Add a log info print test + * gtest: Make gtest an install dependency + * gtest: Enable GTests in CI workflows + * tests: Beautify test output + Documentation + * cpu_features: Update hints in README + Code quality + * Add const to several args + Usability features + * feature: add env variable kernel override + +------------------------------------------------------------------- +Mon Feb 26 19:21:24 UTC 2024 - Wojciech Kazubski + +- Update to version 3.1.2 + Documentation improvements, and automatically generate and publish + * docs: Add VOLK doc build to CI + * docs: Add upload to GitHub actions + * cpu_features: Update hints in README + Remove sse2neon with a native NEON implementation + * Replace sse2neon with native NEON + * Remove loop unrolling + * Simplify Spiral-generated code + Improve CI pipeline with new runner + * flyci: Test CI service with M2 instance + * actions: Update GH Actions checkout + Auto-format CMake files + * cmake: Add .cmake-format.py + * cmake: Apply .cmake-format.py + Release script fixes + * scripts/release: fix multi-concatenation of submodule tars + * shellcheck fixes + * bash negative exit codes are not portable, let's be positive +- Update to version 3.1.1 + CI fixes + * Allow for rounding error in float-to-int conversions + * Allow for rounding error in volk_32fc_s32f_magnitude_16i + * Allow for rounding error in float-to-int interleave + * Add missing volk_16_byteswap_u_orc to puppet + * Fix 64-bit integer testing + * Build and test neonv7 protokernels on armv7 + kernels + * Remove broken sse32 kernels + * Fix flaky fm_detect test + * Fix flaky mod_range test + * Remove unnecessary volatiles from volk_32fc_s32f_magnitude_16i + * Remove SSE protokernels written in assembly + * Remove inline assembler from volk_32fc_convert_16ic_neon + * Use bit shifts in generic and byte_shuffle reverse + * Remove disabled SSE4.1 dot product + * Fix conv_k7_r2 kernel and puppet + * Remove unused argument from renormalize + * Align types in ORC function signatures + * Uncomment AVX2 implementation + * Renormalize in every iteration on AVX2 + * Remove extraneous permutations + * Compute the minimum over both register lanes + * volk_32fc_s32f_atan2_32f: Add NaN tests for avx2 and avx2fma + code + fixes + * Express version information in decimal + * Remove __VOLK_VOLATILE + * Remove references to simdmath library + * cmake: Switch to GNUInstallDirs + * fprintf: Remove fprintf statements from volk_malloc + * release: Prepare release with updated files + * Get the sse2neon.h file to a git submodule to avoid random + copies. + +------------------------------------------------------------------- +Fri Jan 19 10:45:21 UTC 2024 - Jan Engelhardt + +- Update descriptions +- Limit fdupes to /usr so it does not accidentally hardlink across + mounts. + +------------------------------------------------------------------- +Tue Dec 5 21:33:20 UTC 2023 - Martin Hauke + +- Update to version 3.1.0 + Build and dependency updates + * cmake: Link to cpu_features only in BUILD_INTERFACE. + * cmake: Do not install cpu_features with volk. + * Use CpuFeatures target. + * Use cpu_features on RISC-V platforms. + * cpu_features: Update submodule pointer. + * Add UBSAN to ASAN builds. + New kernel API + * Use pointers to pass in s32fc arguments. + * The old API is deprecated but will be available for the + foreseeable future. + Updated kernels + * Remove unused ORC code. + * Prefer NEON kernels over ORC. + * Require all kernels to have a generic implementation. + * Remove redundant a_generic kernels. + * Remove ORC kernels that use sqrtf. + * reverse: Rename dword_shuffle to generic. + * volk_32f_s32f_convert_8i: code style + * volk_32fc_x2_divide_32fc: add documentation about numerical + accuracy. + * kernel: Refactor 32f_s32f_multiply_32f kernel. + * kernel: Refactor 32f_x2_subtract_32f kernel. + * convert 32f->32i: fix compiler warnings about loss of int + precision. + * 64u_ byteswape: remove buggy Neonv8 protokernel. + * 64u_ byteswape: remove buggy Neon protokernel. + * Remove broken volk_16i_max_star_16i_neon protokernel. + * Fix truncate-toward-zero distortion. + * Fix encodepolar documentation. + New kernels + * add volk_32f_s32f_x2_convert_8u kernel. + * Fix documentation for the clamp kernel. + * added new kernel: volk_32f_s32f_x2_clamp. + * new kernels for atan2. + * Add 32f_s32f_multiply_32f RISC-V manually optimized assembly. + * Add .size to volk_32f_s32f_multiply_32f_sifive_u74. + * Add volk_32fc_x2_dot_prod_32fc_sifive_u74. + +------------------------------------------------------------------- +Sat Jan 14 17:55:44 UTC 2023 - Martin Hauke + +- Update to version 3.0.0 + * License switch to LGPLv3+ + * Fix build for 32 bit arm with neon + * Add experimental support for MIPS and RISC-V + +------------------------------------------------------------------- +Mon Sep 5 17:48:54 UTC 2022 - Wojciech Kazubski + +- Update to version 2.5.2 + CI + * Update all test jobs to more recent actions + volk_8u_x4_conv_k7_r2_8u + * Add NEON implementation neonspiral via sse2neon.h + Fixes + * Fix out-of-bounds reads + * Fix broken neon kernels + * Fix float to int conversion + CMake + * Suppress superfluous warning + * Fix Python install path calculation and documentation + cpu_features + * Update submodule pointer + VOLK 3.0 release preparations + * Use SPDX license identifiers everywhere + * Re-arrange files in top-level folder + * Update Doxygen and all Doxygen related tasks into docs + +------------------------------------------------------------------- +Sat Feb 12 12:59:47 UTC 2022 - Wojciech Kazubski + +- Update to version 2.5.1 + Kernels + * Fixup underperforming GENERIC kernel for volk_8u_x4_conv_k7_r2_8u + * volk_32fc_x2_conjugate_dot_prod_32fc: New generic implementation + * Add volk_32f(c)_index_min_16/32u + * Fix volk_32fc_index_min_32u_neon + * Fix volk_32fc_index_min_32u_neon + Misc + * Fix volk_malloc alignment bug + * qa: Remove repeating tests + * python: Switch to sysconfig module + * deprecate: Add attribute deprecated + * deprecate: Exclude warnings on Windows + * docs: Update docs + * Add the list of contributors agreeing to LGPL licensing + * Add a script to count the lines that are pending resubmission + * Testing: Add test for LGPL licensing + * Update CODE_OF_CONDUCT file + Boost + * boost: Remove boost dependency + * c++: Require C++17 for std::filesystem + cpu_features + * cpu_features: Update submodule pointer + * cpu_features: Make cpu_features submodule optional + Zenodo + * zenodo: Add metadata file + * zenodo: Re-organize .zenodo.json +- Patch volk-fix-cpu_features-compilation-error.patch removed (not + needed + +------------------------------------------------------------------- +Thu Jul 22 20:11:16 UTC 2021 - Wojciech Kazubski + +- fixed build for s390x (no cpu_features) + +------------------------------------------------------------------- +Sat Jun 5 12:00:12 UTC 2021 - Martin Hauke + +- Update to version 2.5.0 + Kernels + * volk_32f_stddev_and_mean_32f_x2: implemented Young and + Cramer's algorithm + * volk_32fc_accumulator_s32fc: Add new kernel + * volk_16ic_x2_dot_prod_16ic_u_avx2: Fix Typo, was _axv2. + * Remove _mm256_zeroupper() calls + * Enforce consistent function prototypes + * 32fc_index_max: Improve speed of AVX2 version + * conv_k7_r2: Disable broken AVX2 code + * improve volk_8i_s32f_convert_32f for ARM NEON + * Calculate cos in AVX512F + * Calculate sin using AVX512F + Fixes: + * Fix segmentation fault when using GCC 8 + * Fix python version detection + * cmake: Check that 'distutils' is available + * c11: Remove pre-C11 preprocessor instructions + +------------------------------------------------------------------- +Thu Dec 17 21:06:38 UTC 2020 - Martin Hauke + +- Update to version 2.4.1 + Build + * cpu_features CMake option + * Add cpu_features to static library build. + * Use static liborc-0.4 library for static library build. + * cmake: Detect if cpu_features submodule is present. + Install + * Check for lib64 versus lib and set LIB_SUFFIX accordingly. +- Switch back to the release github tarballs +- Verify source signature + +------------------------------------------------------------------- +Mon Nov 30 11:31:35 UTC 2020 - Martin Hauke + +- Update to version 2.4.0 + Documentation + * Update README to be more verbose and to improve usefulness. + CMake + * Enable to not install volk_modtool. + * Remove "find_package_handle_standard_args" warning. + cpu_features + * Use cpu_features v0.6.0 as a private submodule to detect + available CPU features. + * Fix incorrect feature detection for newer AVX versions. + * Circumvent platform specific feature detection. + * Enable more architecture specific kernels on more platforms. + Kernels + * Disable slow and broken SSE4.1 kernel in + volk_32fc_x2_dot_prod_32fc. + * Adjust min/max for 32f_s32f_convert_8i kernel + * Use INT8_* instead of CHAR_* +- Upstream tarball does not have the cpu_features included so use + a service file to generate the tarball. +- Add patch: + * volk-fix-cpu_features-compilation-error.patch + +------------------------------------------------------------------- +Sat May 9 12:09:27 UTC 2020 - Martin Hauke + +- Update to version 2.3.0 + * Better reproducible builds + * CMake improvements + + ORC is removed from the public interface where it was never + supposed to be. + + CMake fixes for better usability + * Enforce C/C++ coding style via clang-format + * Kernel fixes + + Add puppet for `power_spectral_density` kernel + + Treat the `mod_range` puppet as a puppet for correct use + with `volk_profile` + + Fix `index_max` kernels + + Fix `rotator`. We hope that we finally found the root cause + of the issue. + * Kernel optimizations + + Updated log10 calcs to use faster log2 approach + + Optimize `complexmultiplyconjugate` + * New kernels + + accurate exp kernel is finally merged after years + + Add 32f_s32f_add_32f kernel to perform vector + scalar float + operation + +------------------------------------------------------------------- +Wed Feb 26 19:47:28 UTC 2020 - Martin Hauke + +- Update to version 2.2.1 + Changes + * Fix loop bound in AVX rotator + * Fix out-of-bounds read in AVX2 square dist kernel + * Fix length checks in AVX2 index max kernels + * includes: rearrange attributes to simplify macros Whitespace + * kernels: fix usage in header comments +- Update to version 2.2.0 + Highlights + * Dropped Python 2 build support + + Removed Python six module dependency + * Use C11 aligned_alloc whenever possible + * Add VOLK version in volk_version.h (included in volk.h) + * Improved CMake code + * Improved code with lots of refactoring and performance tweaks + +------------------------------------------------------------------- +Sun Dec 22 14:26:11 UTC 2019 - Martin Hauke + +- Update to version 2.1.0 + * The AVX FMA rotator bug is fixed + * VOLK offers `volk::vector<>` for C++ to follow RAII + * Move towards modern dependencies + - CMake 3.8 + - Prefer Python3 + - We will drop Python2 support in a future release! + - Use C++17 `std::filesystem` + - This enables VOLK to be built without Boost if + available! + * more stable CI + * lots of bugfixes + * more optimized kernels, especially more NEON versions + +------------------------------------------------------------------- +Thu Sep 12 13:28:15 UTC 2019 - Stefan BrĂ¼ns + +- First version of standalone VOLK package, version 2.0.0 diff --git a/volk.keyring b/volk.keyring new file mode 100644 index 0000000..e05223a --- /dev/null +++ b/volk.keyring @@ -0,0 +1,41 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +QmJ1QBw7ro7qE4DzzfHx4SAl662MN6uPgvPUBQ== +=kJgM +-----END PGP PUBLIC KEY BLOCK----- diff --git a/volk.spec b/volk.spec new file mode 100644 index 0000000..c361869 --- /dev/null +++ b/volk.spec @@ -0,0 +1,115 @@ +# +# spec file for package volk +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global sonum 3 +%global soname 3_2 +Name: volk +Version: 3.2.0 +Release: 0 +Summary: Vector-Optimized Library of Kernels +License: LGPL-3.0-or-later +Group: Development/Libraries/C and C++ +URL: https://libvolk.org/ +Source: https://github.com/gnuradio/volk/releases/download/v%{version}/%{name}-%{version}.tar.xz +Source98: https://github.com/gnuradio/volk/releases/download/v%{version}/%{name}-%{version}.tar.xz.asc#/%{name}-%{version}.tar.xz.asc +Source99: volk.keyring +BuildRequires: cmake +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_system-devel +BuildRequires: orc +BuildRequires: python-rpm-macros +BuildRequires: python3-Mako +Provides: bundled(cpu_features) = 0.6.0 + +%description +VOLK is a library of vector-optimized kernels. It is a subproject +of GNU Radio, but can also be used standalone. + +%package devel +Summary: Development files for VOLK +# Formerly part of gnuradio 3.7.x.y +Group: Development/Libraries/C and C++ +Requires: libvolk%{soname} = %{version} +Recommends: volk_modtool +Conflicts: gnuradio-devel < 3.8.0.0 +Provides: gnuradio-devel:%{_libdir}/pkgconfig/volk.pc + +%description devel +This package provides the the development files for VOLK. + +%package -n libvolk%{soname} +Summary: Vector-Optimized Library of Kernels +Group: System/Libraries +Recommends: volk + +%description -n libvolk%{soname} +This package provides the VOLK shared library. + +%package -n volk_modtool +Summary: VOLK kernel creation utility +Group: Development/Tools/Other + +%description -n volk_modtool +This package provides volk_modtool, used for creating new +VOLK kernels. + +%ifarch riscv64 +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 +%global _lto_cflags %{nil} +%endif + +%prep +%autosetup + +%build +%cmake +%cmake_build + +%install +%cmake_install +chmod -x %{buildroot}%{python3_sitearch}/volk_modtool/*py +sed -i -e '1 { \@.*/bin/env.*python.*@ d }' %{buildroot}%{python3_sitearch}/volk_modtool/*py + +%fdupes %{buildroot}/%{_prefix} + +%post -n libvolk%{soname} -p /sbin/ldconfig +%postun -n libvolk%{soname} -p /sbin/ldconfig + +%files +%license COPYING +%doc docs/CHANGELOG.md README.md +%{_bindir}/volk_profile + +%files devel +%{_bindir}/volk-config-info +%{_includedir}/volk +%{_libdir}/cmake/volk +%{_libdir}/libvolk.so +%{_libdir}/pkgconfig/volk.pc + +%files -n libvolk%{soname} +%{_libdir}/libvolk.so.%{sonum}* + +%files -n volk_modtool +%doc python/volk_modtool/README.md +%{_bindir}/volk_modtool +%{python3_sitearch}/volk_modtool + +%changelog