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: CEL
Subject: Re: How to tell whether gnuradio is using NEON or not?
Date: Fri, 15 Nov 2019 19:44:10 +0000

... which either means that's fine, or we need more (or sometimes,
better) NEON implementations. If this is critical to you, let us get
you onboard with VOLK development – and get your NEON code upstreamed!
:D 

Best regards,
Marcus

On Fri, 2019-11-15 at 21:34 +0300, Amr Bekhit wrote:
> Hi Marcus,
> 
> Thanks for the clarification. I guess in this case, seeing as volk
> correctly detected the presence of neon during the compilation process
> but found the generic machine to be faster, then I can assume, as you
> said, that GCC 9 is indeed doing a better job than the hand optimized
> assembly!
> 
> On Fri, 15 Nov 2019 at 14:57, Müller, Marcus (CEL) <address@hidden> wrote:
> > Hi Amr,
> > 
> > that just either means that the kernel has no NEON implementation so
> > far, so generic is the only choice, or, and that's *good* news, the
> > compiler has gotten so smart that it outranks hand-written code.
> > 
> > Best regards,
> > Marcus
> > 
> > On Fri, 2019-11-15 at 14:01 +0300, Amr Bekhit wrote:
> > > 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
> > > > 

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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