From: A. Maitland Bottoms Date: Tue, 3 Apr 2018 05:03:19 +0000 (+0100) Subject: Import volk_1.4-2.debian.tar.xz X-Git-Tag: archive/raspbian/1.4-2+rpi1^2~5^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f078a76f76b7d84fd29b4864101dc93c3472fb45;p=volk.git Import volk_1.4-2.debian.tar.xz [dgit import tarball volk 1.4-2 volk_1.4-2.debian.tar.xz] --- f078a76f76b7d84fd29b4864101dc93c3472fb45 diff --git a/changelog b/changelog new file mode 100644 index 0000000..87b2e94 --- /dev/null +++ b/changelog @@ -0,0 +1,339 @@ +volk (1.4-2) unstable; urgency=medium + + * Upload to unstable, needed by gnuradio (>= 3.7.12.0) + + -- A. Maitland Bottoms Tue, 03 Apr 2018 01:03:19 -0400 + +volk (1.4-1) experimental; urgency=medium + + * New upstream release + upstream changelog http://libvolk.org/release-v14.html + + -- A. Maitland Bottoms Tue, 27 Mar 2018 22:57:42 -0400 + +volk (1.3.1-1) unstable; urgency=medium + + * New upstream bugfix release + * Refresh all debian patches for use with git am + + -- A. Maitland Bottoms Tue, 27 Mar 2018 21:54:29 -0400 + +volk (1.3-3) unstable; urgency=medium + + * update to v1.3-23-g0109b2e + * update debian/libvolk1-dev.abi.tar.gz.amd64 + * Add breaks/replaces gnuradio (<=3.7.2.1) (LP: #1614235) + + -- A. Maitland Bottoms Sun, 04 Feb 2018 13:12:21 -0500 + +volk (1.3-2) unstable; urgency=medium + + * update to v1.3-16-g28b03a9 + apps: fix profile update reading end of lines + qa: lower tolerance for 32fc_mag to fix issue #96 + * include upstream master patch to sort input files + + -- A. Maitland Bottoms Sun, 27 Aug 2017 13:44:55 -0400 + +volk (1.3-1) unstable; urgency=medium + + * New upstream release + * The index_max kernels were named with the wrong output datatype. To + fix this there are new kernels that return a 32u (int32_t) and the + existing kernels had their signatures changed to return 16u (int16_t). + * The output to stdout and stderr has been shuffled around. There is no + longer a message that prints what VOLK machine is being used and the + warning messages go to stderr rather than stdout. + * The 32fc_index_max kernels previously were only accurate to the SSE + register width (4 points). This was a pretty serious and long-lived + bug that's been fixed and the QA updated appropriately. + + -- A. Maitland Bottoms Sat, 02 Jul 2016 16:30:47 -0400 + +volk (1.2.2-2) unstable; urgency=medium + + * update to v1.2.2-11-g78c8bc4 (to follow gnuradio maint branch) + + -- A. Maitland Bottoms Sun, 19 Jun 2016 14:44:15 -0400 + +volk (1.2.2-1) unstable; urgency=medium + + * New upstream release + + -- A. Maitland Bottoms Fri, 08 Apr 2016 00:12:10 -0400 + +volk (1.2.1-2) unstable; urgency=medium + + * Upstream patches: + Fix some CMake complaints + The fix for compilation with cmake 3.5 + + -- A. Maitland Bottoms Wed, 23 Mar 2016 17:47:54 -0400 + +volk (1.2.1-1) unstable; urgency=medium + + * New upstream release + + -- A. Maitland Bottoms Sun, 07 Feb 2016 19:38:32 -0500 + +volk (1.2-1) unstable; urgency=medium + + * New upstream release + + -- A. Maitland Bottoms Thu, 24 Dec 2015 20:28:13 -0500 + +volk (1.1.1-5) experimental; urgency=medium + + * update to v1.1.1-22-gef53547 to support gnuradio 3.7.9 + + -- A. Maitland Bottoms Fri, 11 Dec 2015 13:12:55 -0500 + +volk (1.1.1-4) unstable; urgency=medium + + * more lintian fixes + + -- A. Maitland Bottoms Wed, 25 Nov 2015 21:49:58 -0500 + +volk (1.1.1-3) unstable; urgency=medium + + * Lintian fixes Pre-Depends + + -- A. Maitland Bottoms Thu, 19 Nov 2015 21:24:27 -0500 + +volk (1.1.1-2) unstable; urgency=medium + + * Note that libvolk1-dev replaces files in gnuradio-dev versions <<3.7.8 + (Closes: #802646) again. Thanks Andreas Beckmann. + + -- A. Maitland Bottoms Fri, 13 Nov 2015 18:45:49 -0500 + +volk (1.1.1-1) unstable; urgency=medium + + * New upstream release + * New architectures exist for the AVX2 and FMA ISAs. + * The profiler now generates buffers that are vlen + a tiny amount and + generates random data to fill buffers. This is intended to catch bugs + in protokernels that write beyond num_points. + * Note that libvolk1-dev replaces files in earlier gnuradio-dev versions + (Closes: #802646) + + -- A. Maitland Bottoms Sun, 01 Nov 2015 18:45:43 -0500 + +volk (1.1-4) unstable; urgency=medium + + * update to v1.1-12-g264addc + + -- A. Maitland Bottoms Tue, 29 Sep 2015 23:41:50 -0400 + +volk (1.1-3) unstable; urgency=low + + * drop dh_acc to get reproducible builds + + -- A. Maitland Bottoms Fri, 11 Sep 2015 22:57:06 -0400 + +volk (1.1-2) unstable; urgency=low + + * use dh-acc + + -- A. Maitland Bottoms Mon, 07 Sep 2015 15:45:20 -0400 + +volk (1.1-1) unstable; urgency=medium + + * re-organize package naming convention + * New upstream release tag v1.1 + New architectures exist for the AVX2 and FMA ISAs. Along + with the build-system support the following kernels have + no proto-kernels taking advantage of these architectures: + + * 32f_x2_dot_prod_32f + * 32fc_x2_multiply_32fc + * 64_byteswap + * 32f_binary_slicer_8i + * 16u_byteswap + * 32u_byteswap + + QA/profiler + ----------- + + The profiler now generates buffers that are vlen + a tiny + amount and generates random data to fill buffers. This is + intended to catch bugs in protokernels that write beyond + num_points. + + -- A. Maitland Bottoms Wed, 26 Aug 2015 09:22:48 -0400 + +volk (1.0.2-2) unstable; urgency=low + + * Use SOURCE_DATE_EPOCH from the environment, if defined, + rather than current date and time to implement volk_build_date() + (embedding build date in a library does not help reproducible builds) + * add watch file + + -- A. Maitland Bottoms Sat, 15 Aug 2015 17:43:15 -0400 + +volk (1.0.2-1) unstable; urgency=medium + + * Maintenance release 24 Jul 2015 by Nathan West + * The major change is the CMake logic to add ASM protokernels. Rather + than depending on CFLAGS and ASMFLAGS we use the results of VOLK's + built in has_ARCH tests. All configurations should work the same as + before, but manually specifying CFLAGS and ASMFLAGS on the cmake call + for ARM native builds should no longer be necessary. + * The 32fc_s32fc_x2_rotator_32fc generic protokernel now includes a + previously implied header. + * Finally, there is a fix to return the "best" protokernel to the + dispatcher when no volk_config exists. Thanks to Alexandre Raymond for + pointing this out. + * with maint branch patch: + kernels-add-missing-include-arm_neon.h + * removed unused build-dependency on liboil0.3-dev (closes: #793626) + + -- A. Maitland Bottoms Wed, 05 Aug 2015 00:43:40 -0400 + +volk (1.0.1-1) unstable; urgency=low + + * Maintenance Release v1.0.1 08 Jul 2015 by Nathan West + This is a maintenance release with bug fixes since the initial release of + v1.0 in April. + + * Contributors + + The following authors have contributed code to this release: + + Doug Geiger doug.geiger@bioradiation.net + Elliot Briggs elliot.briggs@gmail.com + Marcus Mueller marcus@hostalia.de + Nathan West nathan.west@okstate.edu + Tom Rondeau tom@trondeau.com + + * Kernels + + Several bug fixes in different kernels. The NEON implementations of the + following kernels have been fixed: + + 32f_x2_add_32f + 32f_x2_dot_prod_32f + 32fc_s32fc_multiply_32fc + 32fc_x2_multiply_32fc + + Additionally the NEON asm based 32f_x2_add_32f protokernels were not being + used and are now included and available for use via the dispatcher. + + The 32f_s32f_x2_fm_detect_32f kernel now has a puppet. This solves QA seg + faults on 32-bit machines and provide a better test for this kernel. + + The 32fc_s32fc_x2_rotator_32fc generic protokernel replaced cabsf with + hypotf for better Android support. + + * Building + + Static builds now trigger the applications (volk_profile and + volk-config-info) to be statically linked. + + The file gcc_x86_cpuid.h has been removed since it was no longer being + used. Previously it provided cpuid functionality for ancient compilers + that we do not support. + + All build types now use -Wall. + + * QA and Testing + + The documentation around the --update option to volk_profile now makes it + clear that the option will only profile kernels without entries in + volk_profile. The signature of run_volk_tests with expanded args changed + signed types to unsigned types to reflect the actual input. + + The remaining changes are all non-functional changes to address issues + from Coverity. + + -- A. Maitland Bottoms Fri, 10 Jul 2015 17:57:42 -0400 + +volk (1.0-5) unstable; urgency=medium + + * native-armv7-build-support skips neon on Debian armel (Closes: #789972) + + -- A. Maitland Bottoms Sat, 04 Jul 2015 12:36:36 -0400 + +volk (1.0-4) unstable; urgency=low + + * update native-armv7-build-support patch from gnuradio volk package + + -- A. Maitland Bottoms Thu, 25 Jun 2015 16:38:49 -0400 + +volk (1.0-3) unstable; urgency=medium + + * Add Breaks/Replaces (Closes: #789893, #789894) + * Allow failing tests + + -- A. Maitland Bottoms Thu, 25 Jun 2015 12:46:06 -0400 + +volk (1.0-2) unstable; urgency=medium + + * kernels-add-missing-math.h-include-to-rotator + + -- A. Maitland Bottoms Wed, 24 Jun 2015 21:09:32 -0400 + +volk (1.0-1) unstable; urgency=low + + * Initial package (Closes: #782417) + Initial Release 11 Apr 2015 by Nathan West + + VOLK 1.0 is available. This is the first release of VOLK as an independently + tracked sub-project of GNU Radio. + + * Contributors + + VOLK has been tracked separately from GNU Radio since 2014 Dec 23. + Contributors between the split and the initial release are + + Albert Holguin aholguin_77@yahoo.com + Doug Geiger doug.geiger@bioradiation.net + Elliot Briggs elliot.briggs@gmail.com + Julien Olivain julien.olivain@lsv.ens-cachan.fr + Michael Dickens michael.dickens@ettus.com + Nathan West nathan.west@okstate.edu + Tom Rondeau tom@trondeau.com + + * QA + + The test and profiler have significantly changed. The profiler supports + run-time changes to vlen and iters to help kernel development and provide + more flexibility on embedded systems. Additionally there is a new option + to update an existing volk_profile results file with only new kernels which + will save time when updating to newer versions of VOLK + + The QA system creates a static list of kernels and test cases. The QA + testing and profiler iterate over this static list rather than each source + file keeping its own list. The QA also emits XML results to + lib/.unittest/kernels.xml which is formatted similarly to JUnit results. + + * Modtool + + Modtool was updated to support the QA and profiler changes. + + * Kernels + + New proto-kernels: + + 16ic_deinterleave_real_8i_neon + 16ic_s32f_deinterleave_32f_neon + fix preprocessor errors for some compilers on byteswap and popcount puppets + + ORC was moved to the asm kernels directory. + volk_malloc + + The posix_memalign implementation of Volk_malloc now falls back to a standard + malloc if alignment is 1. + + * Miscellaneous + + Several build system and cmake changes have made it possible to build VOLK + both independently with proper soname versions and in-tree for projects + such as GNU Radio. + + The static builds take advantage of cmake object libraries to speed up builds. + + Finally, there are a number of changes to satisfy compiler warnings and make + QA work on multiple machines. + + -- A. Maitland Bottoms Sun, 12 Apr 2015 23:20:41 -0400 diff --git a/compat b/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 0000000..cf18eb9 --- /dev/null +++ b/control @@ -0,0 +1,72 @@ +Source: volk +Section: libdevel +Priority: optional +Maintainer: A. Maitland Bottoms +Build-Depends: cmake, + debhelper (>= 9.0.0~), + dh-python, + doxygen, + libboost-filesystem-dev, + libboost-program-options-dev, + libboost-system-dev, + libboost-test-dev, + liborc-0.4-dev, + pkg-config, + python, + python3, + python-mako, + python3-mako, + python-six, + python3-six +Standards-Version: 4.1.3 +Homepage: http://libvolk.org +Vcs-Browser: https://salsa.debian.org/bottoms/pkg-volk +Vcs-Git: https://salsa.debian.org/bottoms/pkg-volk.git + +Package: libvolk1.4 +Section: libs +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Multi-Arch: same +Recommends: libvolk1-bin +Suggests: libvolk1-dev +Description: vector optimized functions + Vector-Optimized Library of Kernels is designed to help + applications work with the processor's SIMD instruction sets. These are + very powerful vector operations that can give signal processing a + huge boost in performance. + +Package: libvolk1-dev +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: libvolk1.4 (=${binary:Version}), ${misc:Depends} +Breaks: gnuradio-dev (<<3.7.8), libvolk-dev, libvolk1.0-dev +Replaces: gnuradio-dev (<<3.7.8), libvolk-dev, libvolk1.0-dev +Multi-Arch: same +Description: vector optimized function headers + Vector-Optimized Library of Kernels is designed to help + applications work with the processor's SIMD instruction sets. These are + very powerful vector operations that can give signal processing a + huge boost in performance. + . + This package contains the header files. + For documentation, see libvolk-doc. + +Package: libvolk1-bin +Section: libs +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: libvolk1.4 (=${binary:Version}), + ${misc:Depends}, + ${python:Depends}, + ${shlibs:Depends} +Breaks: libvolk-bin, libvolk1.0-bin, gnuradio (<=3.7.2.1) +Replaces: libvolk-bin, libvolk1.0-bin, gnuradio (<=3.7.2.1) +Description: vector optimized runtime tools + Vector-Optimized Library of Kernels is designed to help + applications work with the processor's SIMD instruction sets. These are + very powerful vector operations that can give signal processing a + huge boost in performance. + . + This package includes the volk_profile tool. diff --git a/copyright b/copyright new file mode 100644 index 0000000..34e4faf --- /dev/null +++ b/copyright @@ -0,0 +1,191 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: volk +Upstream-Contact: http://libvolk.org/ +Source: + https://github.com/gnuradio/volk +Comment: + Debian packages by A. Maitland Bottoms + . + Upstream Authors: + Albert Holguin + Doug Geiger + Elliot Briggs + Julien Olivain + Michael Dickens + Nathan West + Tom Rondeau +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: * +Copyright: 2006, 2009-2016, Free Software Foundation, Inc. +License: GPL-3+ + +Files: Doxyfile.in + DoxygenLayout.xml + volk.pc.in +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: apps/volk_profile.h +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: appveyor.yml +Copyright: 2016 Paul Cercueil +License: GPL-3+ + +Files: cmake/* +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: cmake/Modules/* +Copyright: 2006, 2009-2016, Free Software Foundation, Inc. +License: GPL-3+ + +Files: cmake/Modules/CMakeParseArgumentsCopy.cmake +Copyright: 2010 Alexander Neundorf +License: Kitware-BSD + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + * Neither the names of Kitware, Inc., the Insight Software Consortium, + nor the names of their contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: cmake/Modules/FindORC.cmake + cmake/Modules/VolkConfig.cmake.in +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: cmake/msvc/* +Copyright: 2006-2008, Alexander Chemeris +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. The name of the author may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: cmake/msvc/config.h +Copyright: 2005, 2006 Apple Computer, Inc. +License: LGPL-2+ + +Files: cmake/msvc/stdbool.h +Copyright: 2005, 2006, Apple Computer, Inc. +License: LGPL-2+ + +Files: debian/* +Copyright: 2015 Free Software Foundation, Inc +License: GPL-3+ +Comment: assigned by A. Maitland Bottoms + +Files: debian/libvolk1-dev.abi.tar.gz.amd64 +Copyright: 2016 Free Software Foundation, Inc +License: GPL-3+ + +Files: docs/* +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: gen/archs.xml + gen/machines.xml +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: include/volk/volk_common.h + include/volk/volk_complex.h + include/volk/volk_prefs.h +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: kernels/volk/asm/* +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: kernels/volk/volk_16u_byteswappuppet_16u.h + kernels/volk/volk_32u_byteswappuppet_32u.h + kernels/volk/volk_64u_byteswappuppet_64u.h +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +Files: lib/kernel_tests.h + lib/qa_utils.cc + lib/qa_utils.h + lib/volk_prefs.c +Copyright: 2014-2015 Free Software Foundation, Inc. +License: GPL-3+ + +License: LGPL-2+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + . + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/libvolk1-bin.install b/libvolk1-bin.install new file mode 100644 index 0000000..b8fc484 --- /dev/null +++ b/libvolk1-bin.install @@ -0,0 +1 @@ +usr/bin/volk* diff --git a/libvolk1-bin.manpages b/libvolk1-bin.manpages new file mode 100644 index 0000000..95bae9e --- /dev/null +++ b/libvolk1-bin.manpages @@ -0,0 +1,3 @@ +debian/volk-config-info.1 +debian/volk_modtool.1 +debian/volk_profile.1 diff --git a/libvolk1-dev.abi.tar.gz.amd64 b/libvolk1-dev.abi.tar.gz.amd64 new file mode 100644 index 0000000..ddc5bdd Binary files /dev/null and b/libvolk1-dev.abi.tar.gz.amd64 differ diff --git a/libvolk1-dev.acc b/libvolk1-dev.acc new file mode 100644 index 0000000..c8503c6 --- /dev/null +++ b/libvolk1-dev.acc @@ -0,0 +1,12 @@ + + + + +debian/libvolk1-dev/usr/include/ + + + +debian/libvolk1.4/usr/lib/ + + + diff --git a/libvolk1-dev.install b/libvolk1-dev.install new file mode 100644 index 0000000..4b391be --- /dev/null +++ b/libvolk1-dev.install @@ -0,0 +1,4 @@ +usr/include/* +usr/lib/*/*volk*so +usr/lib/*/cmake/volk +usr/lib/*/pkgconfig/*volk* diff --git a/libvolk1-dev_1.4-1_report.html b/libvolk1-dev_1.4-1_report.html new file mode 100644 index 0000000..f9614d6 --- /dev/null +++ b/libvolk1-dev_1.4-1_report.html @@ -0,0 +1,1069 @@ + + + + + + + + +libvolk1-dev: 1.3-3 to 1.4-1 compatibility report + + + +

API compatibility report for the libvolk1-dev library between 1.3-3 and 1.4-1 versions on x86_64

+ +
+
+

Test Info


+ + + + + + + +
Library Namelibvolk1-dev
Version #11.3-3
Version #21.4-1
Archx86_64
GCC Version7
SubjectBinary Compatibility
+

Test Results


+ + + + + + +
Total Header Files135
Total Libraries1
Total Symbols / Types614 / 233
Compatibility99.8%
+

Problem Summary


+ + + + + + + + + +
SeverityCount
Added Symbols-45
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium0
Low1
Problems with
Symbols
High1
Medium0
Low0
Problems with
Constants
Low1
+ +

Added Symbols  45 


+volk.h, libvolk.so.1.4
+volk_32f_64f_add_64f [data]
+volk_32f_64f_add_64f_a [data]
+volk_32f_64f_add_64f_get_func_desc ( )
+volk_32f_64f_add_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_32f_64f_add_64f_u [data]
+volk_32f_64f_multiply_64f [data]
+volk_32f_64f_multiply_64f_a [data]
+volk_32f_64f_multiply_64f_get_func_desc ( )
+volk_32f_64f_multiply_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_32f_64f_multiply_64f_u [data]
+volk_32f_s32f_mod_rangepuppet_32f [data]
+volk_32f_s32f_mod_rangepuppet_32f_a [data]
+volk_32f_s32f_mod_rangepuppet_32f_get_func_desc ( )
+volk_32f_s32f_mod_rangepuppet_32f_manual ( float* output, float const* input, float bound, unsigned int num_points, char const* impl_name )
+volk_32f_s32f_mod_rangepuppet_32f_u [data]
+volk_32f_s32f_s32f_mod_range_32f [data]
+volk_32f_s32f_s32f_mod_range_32f_a [data]
+volk_32f_s32f_s32f_mod_range_32f_get_func_desc ( )
+volk_32f_s32f_s32f_mod_range_32f_manual ( float* outputVector, float const* inputVector, float const lower_bound, float const upper_bound, unsigned int num_points, char const* impl_name )
+volk_32f_s32f_s32f_mod_range_32f_u [data]
+volk_32fc_32f_add_32fc [data]
+volk_32fc_32f_add_32fc_a [data]
+volk_32fc_32f_add_32fc_get_func_desc ( )
+volk_32fc_32f_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, float const* bVector, unsigned int num_points, char const* impl_name )
+volk_32fc_32f_add_32fc_u [data]
+volk_32fc_x2_add_32fc [data]
+volk_32fc_x2_add_32fc_a [data]
+volk_32fc_x2_add_32fc_get_func_desc ( )
+volk_32fc_x2_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, lv_32fc_t const* bVector, unsigned int num_points, char const* impl_name )
+volk_32fc_x2_add_32fc_u [data]
+volk_32u_reverse_32u [data]
+volk_32u_reverse_32u_a [data]
+volk_32u_reverse_32u_get_func_desc ( )
+volk_32u_reverse_32u_manual ( uint32_t* out, uint32_t const* in, unsigned int num_points, char const* impl_name )
+volk_32u_reverse_32u_u [data]
+volk_64f_x2_add_64f [data]
+volk_64f_x2_add_64f_a [data]
+volk_64f_x2_add_64f_get_func_desc ( )
+volk_64f_x2_add_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_64f_x2_add_64f_u [data]
+volk_64f_x2_multiply_64f [data]
+volk_64f_x2_multiply_64f_a [data]
+volk_64f_x2_multiply_64f_get_func_desc ( )
+volk_64f_x2_multiply_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_64f_x2_multiply_64f_u [data]
+
+to the top
+ +

Problems with Symbols, High Severity  1 


+volk.h, libvolk.so.1.3
+ +[+] volk_32f_8u_polarbutterfly_32f_manual ( float* llrs, unsigned char* u, int const frame_size, int const frame_exp, int const stage, int const u_num, int const row, char const* impl_name )  1  +
+ +
+to the top
+ +

Problems with Data Types, Low Severity  1 


+volk_typedefs.h
+ +[+] typedef p_32f_8u_polarbutterfly_32f  1  +
+ + +
+to the top
+ +

Problems with Constants, Low Severity  1 


+volk_32f_log2_32f.h
+ +[+] LOG_POLY_DEGREE +
+ + +
+to the top
+

Header Files  135 


+
+constants.h
+saturation_arithmetic.h
+volk.h
+volk_16i_32fc_dot_prod_32fc.h
+volk_16i_branch_4_state_8.h
+volk_16i_convert_8i.h
+volk_16i_max_star_16i.h
+volk_16i_max_star_horizontal_16i.h
+volk_16i_permute_and_scalar_add.h
+volk_16i_s32f_convert_32f.h
+volk_16i_x4_quad_max_star_16i.h
+volk_16i_x5_add_quad_16i_x4.h
+volk_16ic_convert_32fc.h
+volk_16ic_deinterleave_16i_x2.h
+volk_16ic_deinterleave_real_16i.h
+volk_16ic_deinterleave_real_8i.h
+volk_16ic_magnitude_16i.h
+volk_16ic_s32f_deinterleave_32f_x2.h
+volk_16ic_s32f_deinterleave_real_32f.h
+volk_16ic_s32f_magnitude_32f.h
+volk_16ic_x2_dot_prod_16ic.h
+volk_16ic_x2_multiply_16ic.h
+volk_16u_byteswap.h
+volk_16u_byteswappuppet_16u.h
+volk_32f_8u_polarbutterfly_32f.h
+volk_32f_8u_polarbutterflypuppet_32f.h
+volk_32f_accumulator_s32f.h
+volk_32f_acos_32f.h
+volk_32f_asin_32f.h
+volk_32f_atan_32f.h
+volk_32f_binary_slicer_32i.h
+volk_32f_binary_slicer_8i.h
+volk_32f_convert_64f.h
+volk_32f_cos_32f.h
+volk_32f_expfast_32f.h
+volk_32f_index_max_16u.h
+volk_32f_index_max_32u.h
+volk_32f_invsqrt_32f.h
+volk_32f_log2_32f.h
+volk_32f_null_32f.h
+volk_32f_s32f_32f_fm_detect_32f.h
+volk_32f_s32f_calc_spectral_noise_floor_32f.h
+volk_32f_s32f_convert_16i.h
+volk_32f_s32f_convert_32i.h
+volk_32f_s32f_convert_8i.h
+volk_32f_s32f_multiply_32f.h
+volk_32f_s32f_normalize.h
+volk_32f_s32f_power_32f.h
+volk_32f_s32f_stddev_32f.h
+volk_32f_sin_32f.h
+volk_32f_sqrt_32f.h
+volk_32f_stddev_and_mean_32f_x2.h
+volk_32f_tan_32f.h
+volk_32f_tanh_32f.h
+volk_32f_x2_add_32f.h
+volk_32f_x2_divide_32f.h
+volk_32f_x2_dot_prod_16i.h
+volk_32f_x2_dot_prod_32f.h
+volk_32f_x2_fm_detectpuppet_32f.h
+volk_32f_x2_interleave_32fc.h
+volk_32f_x2_max_32f.h
+volk_32f_x2_min_32f.h
+volk_32f_x2_multiply_32f.h
+volk_32f_x2_pow_32f.h
+volk_32f_x2_s32f_interleave_16ic.h
+volk_32f_x2_subtract_32f.h
+volk_32f_x3_sum_of_poly_32f.h
+volk_32fc_32f_dot_prod_32fc.h
+volk_32fc_32f_multiply_32fc.h
+volk_32fc_conjugate_32fc.h
+volk_32fc_convert_16ic.h
+volk_32fc_deinterleave_32f_x2.h
+volk_32fc_deinterleave_64f_x2.h
+volk_32fc_deinterleave_imag_32f.h
+volk_32fc_deinterleave_real_32f.h
+volk_32fc_deinterleave_real_64f.h
+volk_32fc_index_max_16u.h
+volk_32fc_index_max_32u.h
+volk_32fc_magnitude_32f.h
+volk_32fc_magnitude_squared_32f.h
+volk_32fc_s32f_atan2_32f.h
+volk_32fc_s32f_deinterleave_real_16i.h
+volk_32fc_s32f_magnitude_16i.h
+volk_32fc_s32f_power_32fc.h
+volk_32fc_s32f_power_spectrum_32f.h
+volk_32fc_s32f_x2_power_spectral_density_32f.h
+volk_32fc_s32fc_multiply_32fc.h
+volk_32fc_s32fc_rotatorpuppet_32fc.h
+volk_32fc_s32fc_x2_rotator_32fc.h
+volk_32fc_x2_conjugate_dot_prod_32fc.h
+volk_32fc_x2_divide_32fc.h
+volk_32fc_x2_dot_prod_32fc.h
+volk_32fc_x2_multiply_32fc.h
+volk_32fc_x2_multiply_conjugate_32fc.h
+volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h
+volk_32fc_x2_square_dist_32f.h
+volk_32i_s32f_convert_32f.h
+volk_32i_x2_and_32i.h
+volk_32i_x2_or_32i.h
+volk_32u_byteswap.h
+volk_32u_byteswappuppet_32u.h
+volk_32u_popcnt.h
+volk_32u_popcntpuppet_32u.h
+volk_64f_convert_32f.h
+volk_64f_x2_max_64f.h
+volk_64f_x2_min_64f.h
+volk_64u_byteswap.h
+volk_64u_byteswappuppet_64u.h
+volk_64u_popcnt.h
+volk_64u_popcntpuppet_64u.h
+volk_8i_convert_16i.h
+volk_8i_s32f_convert_32f.h
+volk_8ic_deinterleave_16i_x2.h
+volk_8ic_deinterleave_real_16i.h
+volk_8ic_deinterleave_real_8i.h
+volk_8ic_s32f_deinterleave_32f_x2.h
+volk_8ic_s32f_deinterleave_real_32f.h
+volk_8ic_x2_multiply_conjugate_16ic.h
+volk_8ic_x2_s32f_multiply_conjugate_32fc.h
+volk_8u_conv_k7_r2puppet_8u.h
+volk_8u_x2_encodeframepolar_8u.h
+volk_8u_x3_encodepolar_8u_x2.h
+volk_8u_x3_encodepolarpuppet_8u.h
+volk_8u_x4_conv_k7_r2_8u.h
+volk_avx_intrinsics.h
+volk_common.h
+volk_complex.h
+volk_config_fixed.h
+volk_cpu.h
+volk_malloc.h
+volk_neon_intrinsics.h
+volk_prefs.h
+volk_sse3_intrinsics.h
+volk_sse_intrinsics.h
+volk_typedefs.h
+
+
to the top
+

Libraries  1 


+
+libvolk.so.1.3
+
+
to the top
+


+

Test Info


+ + + + + + +
Library Namelibvolk1-dev
Version #11.3-3
Version #21.4-1
Archx86_64
SubjectSource Compatibility
+

Test Results


+ + + + + + +
Total Header Files135
Total Libraries1
Total Symbols / Types660 / 235
Compatibility99.1%
+

Problem Summary


+ + + + + + + + + + +
SeverityCount
Added Symbols-46
Removed SymbolsHigh5
Problems with
Data Types
High0
Medium0
Low1
Problems with
Symbols
High1
Medium0
Low0
Problems with
Constants
Low1
Other Changes
in Constants
-2
+ +

Added Symbols  46 


+volk.h
+volk_32f_64f_add_64f [data]
+volk_32f_64f_add_64f_a [data]
+volk_32f_64f_add_64f_get_func_desc ( )
+volk_32f_64f_add_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_32f_64f_add_64f_u [data]
+volk_32f_64f_multiply_64f [data]
+volk_32f_64f_multiply_64f_a [data]
+volk_32f_64f_multiply_64f_get_func_desc ( )
+volk_32f_64f_multiply_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_32f_64f_multiply_64f_u [data]
+volk_32f_s32f_mod_rangepuppet_32f [data]
+volk_32f_s32f_mod_rangepuppet_32f_a [data]
+volk_32f_s32f_mod_rangepuppet_32f_get_func_desc ( )
+volk_32f_s32f_mod_rangepuppet_32f_manual ( float* output, float const* input, float bound, unsigned int num_points, char const* impl_name )
+volk_32f_s32f_mod_rangepuppet_32f_u [data]
+volk_32f_s32f_s32f_mod_range_32f [data]
+volk_32f_s32f_s32f_mod_range_32f_a [data]
+volk_32f_s32f_s32f_mod_range_32f_get_func_desc ( )
+volk_32f_s32f_s32f_mod_range_32f_manual ( float* outputVector, float const* inputVector, float const lower_bound, float const upper_bound, unsigned int num_points, char const* impl_name )
+volk_32f_s32f_s32f_mod_range_32f_u [data]
+volk_32fc_32f_add_32fc [data]
+volk_32fc_32f_add_32fc_a [data]
+volk_32fc_32f_add_32fc_get_func_desc ( )
+volk_32fc_32f_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, float const* bVector, unsigned int num_points, char const* impl_name )
+volk_32fc_32f_add_32fc_u [data]
+volk_32fc_x2_add_32fc [data]
+volk_32fc_x2_add_32fc_a [data]
+volk_32fc_x2_add_32fc_get_func_desc ( )
+volk_32fc_x2_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, lv_32fc_t const* bVector, unsigned int num_points, char const* impl_name )
+volk_32fc_x2_add_32fc_u [data]
+volk_32u_reverse_32u [data]
+volk_32u_reverse_32u_a [data]
+volk_32u_reverse_32u_get_func_desc ( )
+volk_32u_reverse_32u_manual ( uint32_t* out, uint32_t const* in, unsigned int num_points, char const* impl_name )
+volk_32u_reverse_32u_u [data]
+volk_64f_x2_add_64f [data]
+volk_64f_x2_add_64f_a [data]
+volk_64f_x2_add_64f_get_func_desc ( )
+volk_64f_x2_add_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_64f_x2_add_64f_u [data]
+volk_64f_x2_multiply_64f [data]
+volk_64f_x2_multiply_64f_a [data]
+volk_64f_x2_multiply_64f_get_func_desc ( )
+volk_64f_x2_multiply_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
+volk_64f_x2_multiply_64f_u [data]
+
+volk_32u_reverse_32u.h
+ +BitReverseTable256 [data] +
+ + +
+to the top
+

Removed Symbols  5 


+constants.h
+volk_available_machines ( )
+volk_c_compiler ( )
+volk_compiler_flags ( )
+volk_prefix ( )
+volk_version ( )
+
+to the top
+ +

Problems with Symbols, High Severity  1 


+volk.h
+ +[+] volk_32f_8u_polarbutterfly_32f_manual ( float* llrs, unsigned char* u, int const frame_size, int const frame_exp, int const stage, int const u_num, int const row, char const* impl_name )  1  +
+ +
+to the top
+ +

Problems with Data Types, Low Severity  1 


+volk_typedefs.h
+ +[+] typedef p_32f_8u_polarbutterfly_32f  1  +
+ + +
+to the top
+ +

Problems with Constants, Low Severity  1 


+volk_32f_log2_32f.h
+ +[+] LOG_POLY_DEGREE +
+ + +
+to the top
+ +

Other Changes in Constants  2 


+volk_common.h
+ +[+] __VOLK_ASM +
+ + + +[+] __VOLK_VOLATILE +
+ + +
+to the top
+

Header Files  135 


+
+constants.h
+saturation_arithmetic.h
+volk.h
+volk_16i_32fc_dot_prod_32fc.h
+volk_16i_branch_4_state_8.h
+volk_16i_convert_8i.h
+volk_16i_max_star_16i.h
+volk_16i_max_star_horizontal_16i.h
+volk_16i_permute_and_scalar_add.h
+volk_16i_s32f_convert_32f.h
+volk_16i_x4_quad_max_star_16i.h
+volk_16i_x5_add_quad_16i_x4.h
+volk_16ic_convert_32fc.h
+volk_16ic_deinterleave_16i_x2.h
+volk_16ic_deinterleave_real_16i.h
+volk_16ic_deinterleave_real_8i.h
+volk_16ic_magnitude_16i.h
+volk_16ic_s32f_deinterleave_32f_x2.h
+volk_16ic_s32f_deinterleave_real_32f.h
+volk_16ic_s32f_magnitude_32f.h
+volk_16ic_x2_dot_prod_16ic.h
+volk_16ic_x2_multiply_16ic.h
+volk_16u_byteswap.h
+volk_16u_byteswappuppet_16u.h
+volk_32f_8u_polarbutterfly_32f.h
+volk_32f_8u_polarbutterflypuppet_32f.h
+volk_32f_accumulator_s32f.h
+volk_32f_acos_32f.h
+volk_32f_asin_32f.h
+volk_32f_atan_32f.h
+volk_32f_binary_slicer_32i.h
+volk_32f_binary_slicer_8i.h
+volk_32f_convert_64f.h
+volk_32f_cos_32f.h
+volk_32f_expfast_32f.h
+volk_32f_index_max_16u.h
+volk_32f_index_max_32u.h
+volk_32f_invsqrt_32f.h
+volk_32f_log2_32f.h
+volk_32f_null_32f.h
+volk_32f_s32f_32f_fm_detect_32f.h
+volk_32f_s32f_calc_spectral_noise_floor_32f.h
+volk_32f_s32f_convert_16i.h
+volk_32f_s32f_convert_32i.h
+volk_32f_s32f_convert_8i.h
+volk_32f_s32f_multiply_32f.h
+volk_32f_s32f_normalize.h
+volk_32f_s32f_power_32f.h
+volk_32f_s32f_stddev_32f.h
+volk_32f_sin_32f.h
+volk_32f_sqrt_32f.h
+volk_32f_stddev_and_mean_32f_x2.h
+volk_32f_tan_32f.h
+volk_32f_tanh_32f.h
+volk_32f_x2_add_32f.h
+volk_32f_x2_divide_32f.h
+volk_32f_x2_dot_prod_16i.h
+volk_32f_x2_dot_prod_32f.h
+volk_32f_x2_fm_detectpuppet_32f.h
+volk_32f_x2_interleave_32fc.h
+volk_32f_x2_max_32f.h
+volk_32f_x2_min_32f.h
+volk_32f_x2_multiply_32f.h
+volk_32f_x2_pow_32f.h
+volk_32f_x2_s32f_interleave_16ic.h
+volk_32f_x2_subtract_32f.h
+volk_32f_x3_sum_of_poly_32f.h
+volk_32fc_32f_dot_prod_32fc.h
+volk_32fc_32f_multiply_32fc.h
+volk_32fc_conjugate_32fc.h
+volk_32fc_convert_16ic.h
+volk_32fc_deinterleave_32f_x2.h
+volk_32fc_deinterleave_64f_x2.h
+volk_32fc_deinterleave_imag_32f.h
+volk_32fc_deinterleave_real_32f.h
+volk_32fc_deinterleave_real_64f.h
+volk_32fc_index_max_16u.h
+volk_32fc_index_max_32u.h
+volk_32fc_magnitude_32f.h
+volk_32fc_magnitude_squared_32f.h
+volk_32fc_s32f_atan2_32f.h
+volk_32fc_s32f_deinterleave_real_16i.h
+volk_32fc_s32f_magnitude_16i.h
+volk_32fc_s32f_power_32fc.h
+volk_32fc_s32f_power_spectrum_32f.h
+volk_32fc_s32f_x2_power_spectral_density_32f.h
+volk_32fc_s32fc_multiply_32fc.h
+volk_32fc_s32fc_rotatorpuppet_32fc.h
+volk_32fc_s32fc_x2_rotator_32fc.h
+volk_32fc_x2_conjugate_dot_prod_32fc.h
+volk_32fc_x2_divide_32fc.h
+volk_32fc_x2_dot_prod_32fc.h
+volk_32fc_x2_multiply_32fc.h
+volk_32fc_x2_multiply_conjugate_32fc.h
+volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h
+volk_32fc_x2_square_dist_32f.h
+volk_32i_s32f_convert_32f.h
+volk_32i_x2_and_32i.h
+volk_32i_x2_or_32i.h
+volk_32u_byteswap.h
+volk_32u_byteswappuppet_32u.h
+volk_32u_popcnt.h
+volk_32u_popcntpuppet_32u.h
+volk_64f_convert_32f.h
+volk_64f_x2_max_64f.h
+volk_64f_x2_min_64f.h
+volk_64u_byteswap.h
+volk_64u_byteswappuppet_64u.h
+volk_64u_popcnt.h
+volk_64u_popcntpuppet_64u.h
+volk_8i_convert_16i.h
+volk_8i_s32f_convert_32f.h
+volk_8ic_deinterleave_16i_x2.h
+volk_8ic_deinterleave_real_16i.h
+volk_8ic_deinterleave_real_8i.h
+volk_8ic_s32f_deinterleave_32f_x2.h
+volk_8ic_s32f_deinterleave_real_32f.h
+volk_8ic_x2_multiply_conjugate_16ic.h
+volk_8ic_x2_s32f_multiply_conjugate_32fc.h
+volk_8u_conv_k7_r2puppet_8u.h
+volk_8u_x2_encodeframepolar_8u.h
+volk_8u_x3_encodepolar_8u_x2.h
+volk_8u_x3_encodepolarpuppet_8u.h
+volk_8u_x4_conv_k7_r2_8u.h
+volk_avx_intrinsics.h
+volk_common.h
+volk_complex.h
+volk_config_fixed.h
+volk_cpu.h
+volk_malloc.h
+volk_neon_intrinsics.h
+volk_prefs.h
+volk_sse3_intrinsics.h
+volk_sse_intrinsics.h
+volk_typedefs.h
+
+
to the top
+

Libraries  1 


+
+libvolk.so.1.3
+
+
to the top
+



+ +
+ + diff --git a/libvolk1.4.install b/libvolk1.4.install new file mode 100644 index 0000000..e4252f4 --- /dev/null +++ b/libvolk1.4.install @@ -0,0 +1 @@ +usr/lib/*/libvolk.so.* diff --git a/patches/install-all-headers b/patches/install-all-headers new file mode 100644 index 0000000..60e26de --- /dev/null +++ b/patches/install-all-headers @@ -0,0 +1,38 @@ +From 1ccd05806eaba582dbd4aa9547bd0081731e2798 Mon Sep 17 00:00:00 2001 +From: "A. Maitland Bottoms" +Date: Tue, 27 Mar 2018 22:05:29 -0400 +Subject: [PATCH 4/6] install all headers + +(Along with some sorting) +--- + CMakeLists.txt | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -158,17 +158,20 @@ + ) + + install(FILES +- ${CMAKE_SOURCE_DIR}/include/volk/volk_prefs.h +- ${CMAKE_SOURCE_DIR}/include/volk/volk_complex.h +- ${CMAKE_SOURCE_DIR}/include/volk/volk_common.h ++ ${CMAKE_SOURCE_DIR}/include/volk/constants.h ++ ${CMAKE_SOURCE_DIR}/include/volk/saturation_arithmetic.h + ${CMAKE_SOURCE_DIR}/include/volk/volk_avx_intrinsics.h +- ${CMAKE_SOURCE_DIR}/include/volk/volk_sse3_intrinsics.h ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_common.h ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_complex.h ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_malloc.h + ${CMAKE_SOURCE_DIR}/include/volk/volk_neon_intrinsics.h ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_prefs.h ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_sse3_intrinsics.h ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_sse_intrinsics.h + ${CMAKE_BINARY_DIR}/include/volk/volk.h + ${CMAKE_BINARY_DIR}/include/volk/volk_cpu.h + ${CMAKE_BINARY_DIR}/include/volk/volk_config_fixed.h + ${CMAKE_BINARY_DIR}/include/volk/volk_typedefs.h +- ${CMAKE_SOURCE_DIR}/include/volk/volk_malloc.h + DESTINATION include/volk + COMPONENT "volk_devel" + ) diff --git a/patches/libm-link b/patches/libm-link new file mode 100644 index 0000000..b8f6314 --- /dev/null +++ b/patches/libm-link @@ -0,0 +1,20 @@ +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -542,7 +542,7 @@ + + #Add dynamic library + add_library(volk SHARED $) +- target_link_libraries(volk ${volk_libraries}) ++ target_link_libraries(volk ${volk_libraries} m) + target_include_directories(volk + PUBLIC ${PROJECT_BINARY_DIR}/include + PUBLIC ${PROJECT_SOURCE_DIR}/include +@@ -584,7 +584,7 @@ + else() + #create the volk runtime library + add_library(volk SHARED ${volk_sources}) +- target_link_libraries(volk ${volk_libraries}) ++ target_link_libraries(volk ${volk_libraries} m) + include_directories(volk + PUBLIC ${PROJECT_BINARY_DIR}/include + PUBLIC ${PROJECT_SOURCE_DIR}/include diff --git a/patches/make-acc-happy b/patches/make-acc-happy new file mode 100644 index 0000000..08ebf34 --- /dev/null +++ b/patches/make-acc-happy @@ -0,0 +1,69 @@ +From 799245ea6e9e05cc0ed0fabe783fbbe1a5054fd4 Mon Sep 17 00:00:00 2001 +From: "A. Maitland Bottoms" +Date: Tue, 27 Mar 2018 22:02:59 -0400 +Subject: [PATCH 2/6] make acc happy + +The abi-compliance-checker grabs all the .h files it finds +and tries to compile them all. Even though some are not +appropriate for the architecture being run on. Being careful +with preprocessor protections avoids problems. +--- + include/volk/volk_neon_intrinsics.h | 2 ++ + kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h | 1 + + kernels/volk/volk_8u_x2_encodeframepolar_8u.h | 3 --- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/volk/volk_neon_intrinsics.h b/include/volk/volk_neon_intrinsics.h +index 3f121a8..ef42dea 100644 +--- a/include/volk/volk_neon_intrinsics.h ++++ b/include/volk/volk_neon_intrinsics.h +@@ -27,6 +27,7 @@ + + #ifndef INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ + #define INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ ++#ifdef LV_HAVE_NEON + #include + + static inline float32x4_t +@@ -119,4 +120,5 @@ _vlog2q_f32(float32x4_t aval) + return log2_approx; + } + ++#endif /*LV_HAVE_NEON*/ + #endif /* INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ */ +diff --git a/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h b/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h +index 49a3076..4f84352 100644 +--- a/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h ++++ b/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + + static inline void +diff --git a/kernels/volk/volk_8u_x2_encodeframepolar_8u.h b/kernels/volk/volk_8u_x2_encodeframepolar_8u.h +index 6a605c6..ff729a8 100644 +--- a/kernels/volk/volk_8u_x2_encodeframepolar_8u.h ++++ b/kernels/volk/volk_8u_x2_encodeframepolar_8u.h +@@ -58,8 +58,6 @@ encodepolar_single_stage(unsigned char* frame_ptr, const unsigned char* temp_ptr + } + } + +-#ifdef LV_HAVE_GENERIC +- + static inline void + volk_8u_x2_encodeframepolar_8u_generic(unsigned char* frame, unsigned char* temp, + unsigned int frame_size) +@@ -79,7 +77,6 @@ volk_8u_x2_encodeframepolar_8u_generic(unsigned char* frame, unsigned char* temp + --stage; + } + } +-#endif /* LV_HAVE_GENERIC */ + + #ifdef LV_HAVE_SSSE3 + #include +-- +2.11.0 + diff --git a/patches/native-armv7-build-support b/patches/native-armv7-build-support new file mode 100644 index 0000000..860bf41 --- /dev/null +++ b/patches/native-armv7-build-support @@ -0,0 +1,64 @@ +From b554121e765a3495e23975112f269a8083950212 Mon Sep 17 00:00:00 2001 +From: "A. Maitland Bottoms" +Date: Tue, 27 Mar 2018 22:01:33 -0400 +Subject: [PATCH 1/6] native armv7 build support + +Debian, unlike other GNU Radio deployments, does not cross-compile +packages, but builds natively on a set of build machines, including +both arm and armhf. +--- + lib/CMakeLists.txt | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -250,6 +250,13 @@ + endif(NOT CPU_IS_x86) + + ######################################################################## ++# if building Debian armel, eliminate neon ++######################################################################## ++if(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi") ++ OVERRULE_ARCH(neon "Architecture is not armhf") ++endif(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi") ++ ++######################################################################## + # implement overruling in the ORC case, + # since ORC always passes flag detection + ######################################################################## +@@ -404,7 +411,7 @@ + # Handle ASM support + # on by default, but let users turn it off + ######################################################################## +-if(${CMAKE_VERSION} VERSION_GREATER "2.8.9") ++if((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND NOT (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi")) + set(ASM_ARCHS_AVAILABLE "neon") + + set(FULL_C_FLAGS "${CMAKE_C_FLAGS}" "${CMAKE_CXX_COMPILER_ARG1}") +@@ -414,7 +421,7 @@ + # set up the assembler flags and include the source files + foreach(ARCH ${ASM_ARCHS_AVAILABLE}) + string(REGEX MATCH "${ARCH}" ASM_ARCH "${available_archs}") +- if( ASM_ARCH STREQUAL "neon" ) ++ if(( ASM_ARCH STREQUAL "neon" ) OR ( ${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7")) + message(STATUS "---- Adding ASM files") # we always use ATT syntax + message(STATUS "-- Detected neon architecture; enabling ASM") + # setup architecture specific assembler flags +@@ -433,7 +440,7 @@ + message(STATUS "asm flags: ${CMAKE_ASM_FLAGS}") + endforeach(ARCH) + +-else(${CMAKE_VERSION} VERSION_GREATER "2.8.9") ++else((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND NOT (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi")) + message(STATUS "Not enabling ASM support. CMake >= 2.8.10 required.") + foreach(machine_name ${available_machines}) + string(REGEX MATCH "neon" NEON_MACHINE ${machine_name}) +@@ -441,7 +448,7 @@ + message(FATAL_ERROR "CMake >= 2.8.10 is required for ARM NEON support") + endif() + endforeach() +-endif(${CMAKE_VERSION} VERSION_GREATER "2.8.9") ++endif((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND NOT (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi")) + + ######################################################################## + # Handle orc support diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..329797c --- /dev/null +++ b/patches/series @@ -0,0 +1,4 @@ +native-armv7-build-support +make-acc-happy +sort-cmake-glob-lists +libm-link diff --git a/patches/sort-cmake-glob-lists b/patches/sort-cmake-glob-lists new file mode 100644 index 0000000..eeefb5a --- /dev/null +++ b/patches/sort-cmake-glob-lists @@ -0,0 +1,25 @@ +From 9d32c341220aeb5a07011b7ef349f8c606941ee4 Mon Sep 17 00:00:00 2001 +From: "A. Maitland Bottoms" +Date: Tue, 27 Mar 2018 22:04:11 -0400 +Subject: [PATCH 3/6] sort cmake glob lists + +File lists are generated in a CMakeLists.txt file with file(GLOB ...), which varies +with the readdir() order. Sorting the lists should help make reproducible builds. +--- + lib/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -328,8 +328,11 @@ + + #dependencies are all python, xml, and header implementation files + file(GLOB xml_files ${PROJECT_SOURCE_DIR}/gen/*.xml) ++list(SORT xml_files) + file(GLOB py_files ${PROJECT_SOURCE_DIR}/gen/*.py) ++list(SORT py_files) + file(GLOB h_files ${PROJECT_SOURCE_DIR}/kernels/volk/*.h) ++list(SORT h_files) + + macro(gen_template tmpl output) + list(APPEND volk_gen_sources ${output}) diff --git a/patches/sort-input-files b/patches/sort-input-files new file mode 100644 index 0000000..bc06e19 --- /dev/null +++ b/patches/sort-input-files @@ -0,0 +1,39 @@ +From 77da3b36b68482d1d2309a0725da399196682de0 Mon Sep 17 00:00:00 2001 +From: "Bernhard M. Wiedemann" +Date: Mon, 5 Jun 2017 21:37:38 +0200 +Subject: [PATCH 5/6] sort input files + +when building packages (e.g. for openSUSE Linux) +(random) filesystem order of input files +influences ordering of entries in the output, +thus without the patch, builds (in disposable VMs) would usually differ. + +See https://reproducible-builds.org/ for why this matters. +--- + python/volk_modtool/volk_modtool_generate.py | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +--- a/python/volk_modtool/volk_modtool_generate.py ++++ b/python/volk_modtool/volk_modtool_generate.py +@@ -58,10 +58,10 @@ + else: + name = self.get_basename(base) + if name == '': +- hdr_files = glob.glob(os.path.join(base, "kernels/volk/*.h")) ++ hdr_files = sorted(glob.glob(os.path.join(base, "kernels/volk/*.h"))) + begins = re.compile("(?<=volk_).*") + else: +- hdr_files = glob.glob(os.path.join(base, "kernels/volk_" + name + "/*.h")) ++ hdr_files = sorted(glob.glob(os.path.join(base, "kernels/volk_" + name + "/*.h"))) + begins = re.compile("(?<=volk_" + name + "_).*") + + datatypes = [] +@@ -156,7 +156,7 @@ + open(dest, 'w+').write(outstring) + + # copy orc proto-kernels if they exist +- for orcfile in glob.glob(inpath + '/kernels/volk/asm/orc/' + top + name + '*.orc'): ++ for orcfile in sorted(glob.glob(inpath + '/kernels/volk/asm/orc/' + top + name + '*.orc')): + if os.path.isfile(orcfile): + instring = open(orcfile, 'r').read() + outstring = re.sub(oldvolk, 'volk_' + self.my_dict['name'], instring) diff --git a/release-v14.html b/release-v14.html new file mode 100644 index 0000000..9b64527 --- /dev/null +++ b/release-v14.html @@ -0,0 +1,201 @@ + + + + + Vector Optimized Library of Kernels + + + + + + + +
+
+
+ + VOLK logo + +
+ +
+
+
+
+
+ + +
+
+
+

VOLK v1.4

+

A lot of really good changes came to VOLK with v1.4. It wouldn't have been possible without the following contributors:

+

Contributors

+ +

Changes

+

Generally, there are a lot of kernel changes and some minor dependency changes. I'm trying to remove boost as a dependency and we've introduced mako templates rather than the old Cheetah-templates to keep in line with GNU Radio. There are also several new CI files that support appveyor, travis-ci, and gitlab. Right now all pull requests must pass travis-ci.

+

Kernels

+

The easiest way to show these changes is simply with two lists:

+

New kernels

+
    +
  • 32 bit reversal
  • +
  • 32f_s32f_s32f_mod_range_32f
  • +
  • double precision (64f_XXX...)
      +
    • multiply
    • +
    • add
    • +
    +
  • +
  • 32f_64f_multiply_64f
  • +
  • add 32f_64f_add_64f
  • +
  • 32fc_x2_add_32fc
  • +
+

New proto-kernels by architecture

+

AVX(2):

+

Note that in some cases an unaligned version was added where an aligned version already existed

+
    +
  • volk_64f_convert_32f
  • +
  • volk_64f_x2_max_64f
  • +
  • volk_64f_x2_min_64f
  • +
  • volk_32f_x2_add_32f
  • +
  • 32i_x2_and_32i
  • +
  • 32i_x2_or_32i
  • +
  • conjugate dot products
  • +
  • 32f_accumulator_32f
  • +
  • stddev_and_mean
  • +
  • volk_32f_* kernels
  • +
  • 32f_x2_divide_32f
  • +
  • 32f_x2_dot_prod_16i
  • +
  • volk_32f_s32f_normalize
  • +
  • volk_32f_s32f_stddev_32f
  • +
  • volk_32f_sqrt_32f
  • +
  • volk_32f_x2_max_32f
  • +
  • volk_32f_x2_min_32f
  • +
  • 32f_x2_s32f_interleave_16ic
  • +
  • 32f_x2_subtract_32f
  • +
  • 32f_x2_s32f_interleave_16ic
  • +
  • 32f_x2_subtract_32f
  • +
  • 32f_x2_subtract_32f
  • +
  • 32f_x2_s32f_interleave_16ic
  • +
  • volk_8ic_s32f_deinterleave_*
  • +
  • 32f_log2_32f
  • +
  • volk_32f_s32f_convert_8i and 16i
  • +
+

NEON:

+
    +
  • move all neonasm to aligned protokernels
  • +
  • added ARM version of volk_32u_reverse_32u (RBIT)
  • +
  • volk_32fc_x2_divide_32fc
  • +
  • volk_32fc_32f_add_32fc
  • +
  • volk_32f_x2_divide_32f
  • +
  • volk_8i_s32f_convert_32f
  • +
+

Additionally, there are new protokernel intrinsics available for use in writing new kernels.

+

Then, we also had some general kernel and protokernel bug fixes and using proper type-named C functions which happened to increase performance:

+

The polarbutterfly went through some heavy refactoring and bug fixes as well as adding an AVX version. +Fix GH issue #139 for 32fc_index_max_* kernels resulting in a slightly wrong index being returned. +Fix bug 106 (volk_64u_popcnt bug in generic implementation)

+

CI and Builds

+

As previously mentioned there are appveyor, travis-ci, and gitlab CI files available. There is a travis-ci instance checking all pull requests at https://travis-ci.org/gnuradio/volk/ and a gitlab mirror running CI checks at https://gitlab.com/n-west/volk.

+

While working on these CI files the kernel tests were split in to individual ctest targets so that each kernel is its own test rather than running them as a monolithic binary. This allows parallel testing, but mostly enables easier diagnostics when a test fails. The readme is now a markdown file that renders well on GitHub and Gitlab along with the travis-ci status as a badge.

+

Within this release two tools were run that reorganized includes and fixed a bunch of typos within code.

+

As part of the attempt to build VOLK without boost a bunch of app and build utilities were written to replace boost-code. This shouldnt be visible to the user, but will hopefully make future builds easier and smaller with fewer build and run-time dependencies. Builds with python 2.7 and 3 should work-- although six is required for python2.7 support.

+

Some build changes make it easier to do a relocatable build and order all files before building so that building from a particular revision (from now on) should be reproducible across machines building the same architectures. To use a relocatable install use the VOLK_PREFIX environment variable. This should support snaps (Canonical packaging environment).

+

Modtool

+
modtool: update the cmake find module for volk mods
+modtool: deconflict module include guards from main volk
+
+
+
+ +
+
+
+
+ +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/rules b/rules new file mode 100755 index 0000000..d58ca4b --- /dev/null +++ b/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +export DEB_HOST_MULTIARCH +DH_VERBOSE=1 +export DH_VERBOSE + +%: + dh $@ --with python2 + +override_dh_auto_configure: + dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DPYTHON_EXECUTABLE=/usr/bin/python + +override_dh_auto_test: + - dh_auto_test -- CTEST_TEST_TIMEOUT=60 + +override_dh_acc: + - dh_acc diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/include-binaries b/source/include-binaries new file mode 100644 index 0000000..bc68a00 --- /dev/null +++ b/source/include-binaries @@ -0,0 +1 @@ +debian/libvolk1-dev.abi.tar.gz.amd64 diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc new file mode 100644 index 0000000..f6d7f93 --- /dev/null +++ b/upstream/signing-key.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +CLIM6szb01rYgHTn9/vDgJE= +=MlbD +-----END PGP PUBLIC KEY BLOCK----- diff --git a/volk-config-info.1 b/volk-config-info.1 new file mode 100644 index 0000000..e8d6efd --- /dev/null +++ b/volk-config-info.1 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH VOLK-CONFIG-INFO "1" "July 2014" "volk-config-info 0.1" "User Commands" +.SH NAME +volk-config-info \- pkgconfig-like tool for Vector Optimized Library of Kernels 0.1 +.SH DESCRIPTION +.SS "Program options: volk-config-info [options]:" +.TP +\fB\-h\fR [ \fB\-\-help\fR ] +print help message +.TP +\fB\-\-prefix\fR +print VOLK installation prefix +.TP +\fB\-\-builddate\fR +print VOLK build date (RFC2822 format) +.TP +\fB\-\-cc\fR +print VOLK C compiler version +.TP +\fB\-\-cflags\fR +print VOLK CFLAGS +.TP +\fB\-\-all\-machines\fR +print VOLK machines built into library +.TP +\fB\-\-avail\-machines\fR +print VOLK machines the current platform can use +.TP +\fB\-\-machine\fR +print the VOLK machine that will be used +.TP +\fB\-v\fR [ \fB\-\-version\fR ] +print VOLK version +.SH "SEE ALSO" +The full documentation for +.B volk-config-info +is maintained as a Texinfo manual. If the +.B info +and +.B volk-config-info +programs are properly installed at your site, the command +.IP +.B info volk-config-info +.PP +should give you access to the complete manual. diff --git a/volk_modtool.1 b/volk_modtool.1 new file mode 100644 index 0000000..752e7f5 --- /dev/null +++ b/volk_modtool.1 @@ -0,0 +1,112 @@ +.TH GNURADIO "1" "August 2013" "volk_modtool 3.7" "User Commands" +.SH NAME +volk_modtool \- tailor VOLK modules +.SH DESCRIPTION +The volk_modtool tool is installed along with VOLK as a way of helping +to construct, add to, and interogate the VOLK library or companion +libraries. +.P +volk_modtool is installed into $prefix/bin. +.P +VOLK modtool enables creating standalone (out-of-tree) VOLK modules +and provides a few tools for sharing VOLK kernels between VOLK +modules. If you need to design or work with VOLK kernels away from +the canonical VOLK library, this is the tool. If you need to tailor +your own VOLK library for whatever reason, this is the tool. +.P +The canonical VOLK library installs a volk.h and a libvolk.so. Your +own library will install volk_$name.h and libvolk_$name.so. Ya Gronk? +Good. +.P +There isn't a substantial difference between the canonical VOLK +module and any other VOLK module. They're all peers. Any module +created via VOLK modtool will come complete with a default +volk_modtool.cfg file associating the module with the base from which +it came, its distinctive $name and its destination (or path). These +values (created from user input if VOLK modtool runs without a +user-supplied config file or a default config file) serve as default +values for some VOLK modtool actions. It's more or less intended for +the user to change directories to the top level of a created VOLK +module and then run volk_modtool to take advantage of the values +stored in the default volk_modtool.cfg file. +.P +Apart from creating new VOLK modules, VOLK modtool allows you to list +the names of kernels in other modules, list the names of kernels in +the current module, add kernels from another module into the current +module, and remove kernels from the current module. When moving +kernels between modules, VOLK modtool does its best to keep the qa +and profiling code for those kernels intact. If the base has a test +or a profiling call for some kernel, those calls will follow the +kernel when VOLK modtool adds that kernel. If QA or profiling +requires a puppet kernel, the puppet kernel will follow the original +kernel when VOLK modtool adds that original kernel. VOLK modtool +respects puppets. +.P +====================================================================== +.P +.SH Installing a new VOLK Library: +.P +Run the command "volk_modtool -i". This will ask you three questions: +.P + name: // the name to give your VOLK library: volk_ + destination: // directory new source tree is built under -- must exists. + // It will create /volk_ + base: // the directory containing the original VOLK source code +.P +This will build a new skeleton directory in the destination provided +with the name volk_. It will contain the necessary structure to +build: +.P + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=/opt/volk ../ + make + sudo make install +.P +Right now, the library is empty and contains no kernels. Kernels can +be added from another VOLK library using the '-a' option. If not +specified, the kernel will be extracted from the base VOLK +directory. Using the '-b' allows us to specify another VOLK library to +use for this purpose. +.P + volk_modtool -a -n 32fc_x2_conjugate_dot_prod_32fc +.P +This will put the code for the new kernel into +/volk_/kernels/volk_/ +.P +Other kernels must be added by hand. See the following webpages for +more information about creating VOLK kernels: + http://gnuradio.org/doc/doxygen/volk_guide.html + http://gnuradio.org/redmine/projects/gnuradio/wiki/Volk +.P +====================================================================== +.P +.SH OPTIONS +.P +Options for Adding and Removing Kernels: + -a, --add_kernel + Add kernel from existing VOLK module. Uses the base VOLK module + unless -b is used. Use -n to specify the kernel name. + Requires: -n. + Optional: -b +.P + -A, --add_all_kernels + Add all kernels from existing VOLK module. Uses the base VOLK + module unless -b is used. + Optional: -b +.P + -x, --remove_kernel + Remove kernel from module. + Required: -n. + Optional: -b +.P +Options for Listing Kernels: + -l, --list + Lists all kernels available in the base VOLK module. +.P + -k, --kernels + Lists all kernels in this VOLK module. +.P + -r, --remote-list + Lists all kernels in another VOLK module that is specified + using the -b option. diff --git a/volk_profile.1 b/volk_profile.1 new file mode 100644 index 0000000..405facb --- /dev/null +++ b/volk_profile.1 @@ -0,0 +1,5 @@ +.TH UHD_FFT "1" "March 2012" "volk_profile 3.5" "User Commands" +.SH NAME +volk_profile \- Quality Assurance application for libvolk functions +.SH DESCRIPTION +Writes profile results to a file. diff --git a/watch b/watch new file mode 100644 index 0000000..d755268 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +opts="pgpsigurlmangle=s/$/.asc/" \ + http://libvolk.org/releases/volk-(\d\S*)\.tar\.gz