discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to tell whether gnuradio is using NEON or not?


From: Amr Bekhit
Subject: Re: How to tell whether gnuradio is using NEON or not?
Date: Fri, 15 Nov 2019 14:01:04 +0300

Going back to this problem, I recently set up a fresh Raspberry Pi 4
system using Ubuntu Server 19.10 and compiled GNU Radio v3.7.13.5 from
source, which also compiled the built in Volk. I then ran volk_profile
and was surprised to find that the generic machine was very often
faster than NEON, and that most of the entries in volk_config
preferred the generic machine. This seems incorrect - what could the
mistake be?

==================================================
Here are the build settings:

ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.3.0-1012-raspi2 #14-Ubuntu SMP Mon Nov 11 10:06:55 UTC
2019 aarch64 aarch64 aarch64 GNU/Linux

ubuntu@ubuntu:~$ volk-config-info --version
2.0

ubuntu@ubuntu:~$ volk-config-info --cc
cc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008

ubuntu@ubuntu:~$ volk-config-info --cflags
/usr/bin/cc:::-O3 -DNDEBUG  -std=gnu99 -fvisibility=hidden
-Wsign-compare -Wall -Wno-uninitialized -Wall
/usr/bin/c++:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall
-Wno-uninitialized -Wall
generic_orc:::GNU:::-O3 -DNDEBUG  -std=gnu99 -fvisibility=hidden
-Wsign-compare -Wall -Wno-uninitialized -Wall
neon_orc:::GNU:::-O3 -DNDEBUG  -std=gnu99 -fvisibility=hidden
-Wsign-compare -Wall -Wno-uninitialized -Wall
-funsafe-math-optimizations
neonv8:::GNU:::-O3 -DNDEBUG  -std=gnu99 -fvisibility=hidden
-Wsign-compare -Wall -Wno-uninitialized -Wall
-funsafe-math-optimizations -funsafe-math-optimizations

ubuntu@ubuntu:~$ volk-config-info --avail-machines
generic_orc;neon_orc;neonv8;

volk-config-info --machine
neon_orc

==================================================
Here's the output of volk_profile:

ubuntu@ubuntu:~$ volk_profile
RUN_VOLK_TESTS: volk_64u_popcntpuppet_64u(131071,1987)
generic completed in 1312.04 ms
neon completed in 1378.97 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_64u_popcntpuppet_64u(131071,1987)
generic completed in 1292.81 ms
neon completed in 1390.73 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_64u_popcntpuppet_64u(131071,1987)
generic completed in 1311.04 ms
neon completed in 1397.88 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_16u_byteswappuppet_16u(131071,1987)
generic completed in 224.223 ms
neon completed in 278.588 ms
neon_table completed in 359.529 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32u_byteswappuppet_32u(131071,1987)
generic completed in 425.049 ms
neon completed in 752.16 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32u_popcntpuppet_32u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_64u_byteswappuppet_64u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_s32fc_rotatorpuppet_32fc(131071,1987)
generic completed in 2390.53 ms
neon completed in 927.447 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_8u_conv_k7_r2puppet_8u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_x2_fm_detectpuppet_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_real_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_16ic_deinterleave_real_8i(131071,1987)
generic completed in 118.046 ms
neon completed in 108.788 ms
u_orc completed in 133.196 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_16ic_deinterleave_16i_x2(131071,1987)
generic completed in 279.341 ms
u_orc completed in 625.402 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_32f_x2(131071,1987)
generic completed in 602.508 ms
neon completed in 611.587 ms
u_orc completed in 5000.92 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_16ic_deinterleave_real_16i(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_16ic_magnitude_16i(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_16ic_s32f_magnitude_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_16ic_convert_32fc(131071,1987)
generic completed in 599.708 ms
neon completed in 604.177 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_16ic_x2_multiply_16ic(131071,1987)
generic completed in 498.56 ms
neon completed in 679.4 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_16ic_x2_dot_prod_16ic(131071,1987)
generic completed in 1834.92 ms
neon completed in 501 ms
neon_vma completed in 493.526 ms
neon_optvma completed in 463.412 ms
Best aligned arch: neon_optvma
Best unaligned arch: neon_optvma
RUN_VOLK_TESTS: volk_16i_s32f_convert_32f(131071,1987)
generic completed in 293.52 ms
neon completed in 298.105 ms
a_generic completed in 292.449 ms
Best aligned arch: a_generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_16i_convert_8i(131071,1987)
generic completed in 73.3278 ms
neon completed in 68.9267 ms
a_generic completed in 71.4697 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_16i_32fc_dot_prod_32fc(131071,1987)
generic completed in 615.96 ms
neon completed in 527.004 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_accumulator_s32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_x2_add_32f(131071,1987)
generic completed in 417.242 ms
u_neon completed in 459.361 ms
a_generic completed in 430.394 ms
u_orc completed in 734.159 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_index_max_16u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_index_max_32u(131071,1987)
neon completed in 238.318 ms
generic completed in 1046.45 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_32f_multiply_32fc(131071,1987)
generic completed in 979.376 ms
neon completed in 996.54 ms
u_orc completed in 3279.32 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_32f_add_32fc(131071,1987)
generic completed in 984.833 ms
neon completed in 1064.82 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_log2_32f(131071,1987)
generic completed in 5455.96 ms
neon completed in 1064.43 ms
u_generic completed in 5461.32 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_expfast_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_x2_pow_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_sin_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_cos_32f(131071,1987)
generic_fast completed in 18612.3 ms
generic completed in 4382.14 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_tan_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_atan_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_asin_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_acos_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_s32f_power_32fc(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_s32f_calc_spectral_noise_floor_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_s32f_atan2_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_x2_conjugate_dot_prod_32fc(131071,1987)
generic completed in 1532.56 ms
neon completed in 1106.66 ms
a_generic completed in 2066.88 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_deinterleave_32f_x2(131071,1987)
neon completed in 756.809 ms
generic completed in 767.769 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_deinterleave_64f_x2(131071,1987)
generic completed in 1389.85 ms
a_generic completed in 1400.86 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_s32f_deinterleave_real_16i(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_deinterleave_imag_32f(131071,1987)
neon completed in 441.163 ms
generic completed in 422.426 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_deinterleave_real_32f(131071,1987)
generic completed in 438.523 ms
neon completed in 415.926 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_deinterleave_real_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_x2_dot_prod_32fc(131071,1987)
generic completed in 1570.41 ms
a_generic completed in 1572.01 ms
neon completed in 1132.08 ms
neon_opttests completed in 1153.34 ms
neon_optfma completed in 1175.58 ms
neon_optfmaunroll completed in 1154.33 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_32f_dot_prod_32fc(131071,1987)
generic completed in 794.31 ms
neon_unroll completed in 656.159 ms
a_neon completed in 703.999 ms
Best aligned arch: neon_unroll
Best unaligned arch: neon_unroll
RUN_VOLK_TESTS: volk_32fc_index_max_16u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_index_max_32u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_s32f_magnitude_16i(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_magnitude_32f(131071,1987)
generic completed in 1344.41 ms
a_generic completed in 1348.79 ms
neon completed in 663.512 ms
neon_fancy_sweet completed in 1048.68 ms
u_orc completed in 7007.45 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_magnitude_squared_32f(131071,1987)
generic completed in 464.834 ms
neon completed in 442.933 ms
a_generic completed in 468.742 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_x2_add_32fc(131071,1987)
generic completed in 1304.72 ms
u_neon completed in 1389.05 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_x2_multiply_32fc(131071,1987)
generic completed in 1409.98 ms
a_generic completed in 1413.46 ms
neon completed in 1520.76 ms
neon_opttests completed in 1485.1 ms
u_orc completed in 10901.5 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_x2_multiply_conjugate_32fc(131071,1987)
generic completed in 1473.7 ms
neon completed in 1400.47 ms
a_generic completed in 1410.57 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_x2_divide_32fc(131071,1987)
generic completed in 4654.99 ms
neon completed in 1538.07 ms
a_generic completed in 4610.52 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_conjugate_32fc(131071,1987)
generic completed in 692.597 ms
a_neon completed in 745.557 ms
a_generic completed in 710.663 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_s32f_convert_16i(131071,1987)
generic completed in 1047.8 ms
a_generic completed in 1011.45 ms
Best aligned arch: a_generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_s32f_convert_32i(131071,1987)
generic completed in 1340.11 ms
a_generic completed in 1339.13 ms
Best aligned arch: a_generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_convert_64f(131071,1987)
generic completed in 583.843 ms
a_generic completed in 588.458 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_s32f_convert_8i(131071,1987)
generic completed in 2473.93 ms
a_generic completed in 2471.33 ms
Best aligned arch: a_generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_convert_16ic(131071,1987)
neon completed in 1015.05 ms
generic completed in 1905.8 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_s32f_power_spectrum_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32fc_x2_square_dist_32f(131071,1987)
neon completed in 491.918 ms
generic completed in 505.449 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32fc_x2_s32f_square_dist_scalar_mult_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_x2_divide_32f(131071,1987)
neon completed in 647.064 ms
generic completed in 835.493 ms
u_orc completed in 957.734 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_x2_dot_prod_32f(131071,1987)
generic completed in 269.021 ms
a_generic completed in 268.722 ms
neonopts completed in 285.479 ms
neon completed in 294.744 ms
Best aligned arch: a_generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_x2_s32f_interleave_16ic(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_x2_interleave_32fc(131071,1987)
neon completed in 721.654 ms
generic completed in 691.68 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_x2_max_32f(131071,1987)
neon completed in 473.203 ms
generic completed in 451.642 ms
u_orc completed in 1608.17 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_x2_min_32f(131071,1987)
neon completed in 430.892 ms
generic completed in 444.284 ms
u_orc completed in 1611.04 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_x2_multiply_32f(131071,1987)
generic completed in 428.57 ms
neon completed in 408.373 ms
a_generic completed in 408.361 ms
u_orc completed in 731.975 ms
Best aligned arch: a_generic
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_64f_multiply_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_64f_add_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_s32f_normalize(131071,1987)
generic completed in 130.015 ms
u_orc completed in 1178.13 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_s32f_power_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_sqrt_32f(131071,1987)
neon completed in 296.611 ms
generic completed in 5976.84 ms
u_orc completed in 6750.64 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_s32f_stddev_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_stddev_and_mean_32f_x2(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_x2_subtract_32f(131071,1987)
generic completed in 406.498 ms
neon completed in 433.911 ms
u_orc completed in 732.846 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_x3_sum_of_poly_32f(131071,1987)
generic completed in 634.575 ms
a_neon completed in 2061.01 ms
neonvert completed in 490.082 ms
Best aligned arch: neonvert
Best unaligned arch: neonvert
RUN_VOLK_TESTS: volk_32i_x2_and_32i(131071,1987)
neon completed in 422.807 ms
generic completed in 428.645 ms
u_orc completed in 444.265 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32i_s32f_convert_32f(131071,1987)
generic completed in 300.06 ms
a_generic completed in 283.176 ms
Best aligned arch: a_generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32i_x2_or_32i(131071,1987)
neon completed in 439.93 ms
generic completed in 428.727 ms
u_orc completed in 433.152 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32f_x2_dot_prod_16i(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_64f_convert_32f(131071,1987)
generic completed in 423.005 ms
a_generic completed in 437.134 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_64f_x2_max_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_64f_x2_min_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_64f_x2_multiply_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_64f_x2_add_64f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8ic_deinterleave_16i_x2(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8ic_s32f_deinterleave_32f_x2(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8ic_deinterleave_real_16i(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8ic_s32f_deinterleave_real_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8ic_deinterleave_real_8i(131071,1987)
generic completed in 70.8281 ms
neon completed in 69.4261 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_8ic_x2_multiply_conjugate_16ic(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8ic_x2_s32f_multiply_conjugate_32fc(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8i_convert_16i(131071,1987)
generic completed in 91.0259 ms
a_generic completed in 110.315 ms
neon completed in 133.381 ms
u_orc completed in 143.8 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_8i_s32f_convert_32f(131071,1987)
generic completed in 270.502 ms
neon completed in 367.175 ms
a_generic completed in 290.766 ms
u_orc completed in 509.698 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32fc_s32fc_multiply_32fc(131071,1987)
generic completed in 797.236 ms
neon completed in 757.058 ms
a_generic completed in 814.727 ms
Best aligned arch: neon
Best unaligned arch: neon
RUN_VOLK_TESTS: volk_32f_s32f_multiply_32f(131071,1987)
generic completed in 298.884 ms
u_neon completed in 294.732 ms
a_generic completed in 300.687 ms
u_orc completed in 551.695 ms
Best aligned arch: u_neon
Best unaligned arch: u_neon
RUN_VOLK_TESTS: volk_32f_binary_slicer_32i(131071,1987)
generic completed in 297.662 ms
generic_branchless completed in 296.843 ms
Best aligned arch: generic_branchless
Best unaligned arch: generic_branchless
RUN_VOLK_TESTS: volk_32f_binary_slicer_8i(131071,1987)
generic completed in 137.043 ms
generic_branchless completed in 146.456 ms
neon completed in 272.934 ms
Best aligned arch: generic
Best unaligned arch: generic
RUN_VOLK_TESTS: volk_32u_reverse_32u(131071,1987)
dword_shuffle completed in 8374.95 ms
byte_shuffle completed in 9276.91 ms
lut completed in 1143.03 ms
2001magic completed in 3280.09 ms
1972magic completed in 5270.06 ms
bintree_permute_top_down completed in 848.799 ms
bintree_permute_bottom_up completed in 869.021 ms
Best aligned arch: bintree_permute_top_down
Best unaligned arch: bintree_permute_top_down
RUN_VOLK_TESTS: volk_32f_tanh_32f(131071,1987)
generic completed in 18682.3 ms
series completed in 2138.05 ms
Best aligned arch: series
Best unaligned arch: series
RUN_VOLK_TESTS: volk_32f_s32f_mod_rangepuppet_32f(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_8u_x3_encodepolarpuppet_8u(131071,1987)
no architectures to test
RUN_VOLK_TESTS: volk_32f_8u_polarbutterflypuppet_32f(131071,1987)
no architectures to test
Creating "/home/ubuntu/.volk"...
Writing /home/ubuntu/.volk/volk_config...

==================================================
Likewise, the contents of volk_config:

#this file is generated by volk_profile.
#the function name is followed by the preferred architecture.
volk_64u_popcnt generic generic
volk_64u_popcnt generic generic
volk_64u_popcnt generic generic
volk_16u_byteswap generic generic
volk_32u_byteswap generic generic
volk_32fc_s32fc_x2_rotator_32fc neon neon
volk_16ic_deinterleave_real_8i neon neon
volk_16ic_deinterleave_16i_x2 generic generic
volk_16ic_s32f_deinterleave_32f_x2 generic generic
volk_16ic_convert_32fc generic generic
volk_16ic_x2_multiply_16ic generic generic
volk_16ic_x2_dot_prod_16ic neon_optvma neon_optvma
volk_16i_s32f_convert_32f a_generic generic
volk_16i_convert_8i neon neon
volk_16i_32fc_dot_prod_32fc neon neon
volk_32f_x2_add_32f generic generic
volk_32f_index_max_32u neon neon
volk_32fc_32f_multiply_32fc generic generic
volk_32fc_32f_add_32fc generic generic
volk_32f_log2_32f neon neon
volk_32f_cos_32f generic generic
volk_32fc_x2_conjugate_dot_prod_32fc neon neon
volk_32fc_deinterleave_32f_x2 neon neon
volk_32fc_deinterleave_64f_x2 generic generic
volk_32fc_deinterleave_imag_32f generic generic
volk_32fc_deinterleave_real_32f neon neon
volk_32fc_x2_dot_prod_32fc neon neon
volk_32fc_32f_dot_prod_32fc neon_unroll neon_unroll
volk_32fc_magnitude_32f neon neon
volk_32fc_magnitude_squared_32f neon neon
volk_32fc_x2_add_32fc generic generic
volk_32fc_x2_multiply_32fc generic generic
volk_32fc_x2_multiply_conjugate_32fc neon neon
volk_32fc_x2_divide_32fc neon neon
volk_32fc_conjugate_32fc generic generic
volk_32f_s32f_convert_16i a_generic generic
volk_32f_s32f_convert_32i a_generic generic
volk_32f_convert_64f generic generic
volk_32f_s32f_convert_8i a_generic generic
volk_32fc_convert_16ic neon neon
volk_32fc_x2_square_dist_32f neon neon
volk_32f_x2_divide_32f neon neon
volk_32f_x2_dot_prod_32f a_generic generic
volk_32f_x2_interleave_32fc generic generic
volk_32f_x2_max_32f generic generic
volk_32f_x2_min_32f neon neon
volk_32f_x2_multiply_32f a_generic neon
volk_32f_s32f_normalize generic generic
volk_32f_sqrt_32f neon neon
volk_32f_x2_subtract_32f generic generic
volk_32f_x3_sum_of_poly_32f neonvert neonvert
volk_32i_x2_and_32i neon neon
volk_32i_s32f_convert_32f a_generic generic
volk_32i_x2_or_32i generic generic
volk_64f_convert_32f generic generic
volk_8ic_deinterleave_real_8i neon neon
volk_8i_convert_16i generic generic
volk_8i_s32f_convert_32f generic generic
volk_32fc_s32fc_multiply_32fc neon neon
volk_32f_s32f_multiply_32f u_neon u_neon
volk_32f_binary_slicer_32i generic_branchless generic_branchless
volk_32f_binary_slicer_8i generic generic
volk_32u_reverse_32u bintree_permute_top_down bintree_permute_top_down
volk_32f_tanh_32f series series

On Mon, 4 Nov 2019 at 17:38, Barry Jackson <address@hidden> wrote:
>
> On 03/11/2019 16:39, Gregory Ratcliff wrote:
> > Please keep us updated on your progress.   This is something I was thinking 
> > to do with aviation monitoring.  Stream each channel at the airport, time 
> > shift to fill in silence giving priority to the tower and approach streams.
>
> Have you tried rtl-airband?
> I have it running 24/7 on a Pi2 which also runs fr24 ADS-B tracking
> uploading to FlightRadar24.
> It has two rtl-sdr dongles one for ADS B and one for VHF air traffic.
> The air traffic dongle scans around six frequencies continually and
> streams to pulseaudio servers on whichever machine I happen to be using.
> It also streams using an icecast streaming server on the RPi2, which I
> can access on my smartphone browser.
> It's been running for years now, but needs aggressive logrotate :)
>
> Barry
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]