- 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.
OBS-URL: https://build.opensuse.org/request/show/1151972
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=25
- 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.
OBS-URL: https://build.opensuse.org/request/show/1131214
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=21
- 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
OBS-URL: https://build.opensuse.org/request/show/1001374
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=17
- 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
OBS-URL: https://build.opensuse.org/request/show/897673
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=13
- 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
OBS-URL: https://build.opensuse.org/request/show/856759
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=11
- 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
OBS-URL: https://build.opensuse.org/request/show/851836
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=9
- 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
OBS-URL: https://build.opensuse.org/request/show/802221
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=7
- 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
OBS-URL: https://build.opensuse.org/request/show/779664
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=5
- 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
OBS-URL: https://build.opensuse.org/request/show/758850
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/volk?expand=0&rev=3