discuss-gnuradio
[Top][All Lists]
Advanced

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

volk questions


From: Fons Adriaensen
Subject: volk questions
Date: Fri, 13 Oct 2023 16:08:09 +0200

Hello all,

I've recently installed volk on two machines, both Intel i5
but different types.

1. On one of the two machines 'make' failed while 'cmake ..'
ran without errors. Installing boost fixed this. Could it be
that the cmake step doesn't check for boost ?

2. On one the two machines, 'volk_profile -R volk_32f_sin_32f'
only tests the SSE4 versions even if AVX is supported (as
confirmed by profiling e.g. volk_32f_asin_32f), and an AVX
implemention is available (it is the selected one on the
other machine). Why is this ?

3. The reason I installed volk was to compare it against
some SSE4 code I developed for sin() and cos(). These calls
use cycles instead of rads as the argument as I find that
generally more convenient. They are not to full float32
precision, but more than good enough for e.g. music 
synthesis. Testing them against volk on the two machines
produces:

fons@zita1:~/library/ssemath> testsin
sinf():               0.005975 us
volk_32f_sin_32f():   0.003983 us (SSE4.1)
sse_fastsin_f32():    0.000802 us

fons@zita4:~/library/ssemath> testsin
sinf():               0.005324 us
volk_32f_sin_32f():   0.002579 us (AVX2)
sse_fastsin_f32():    0.001088 us

The results for volk are consistent with the volk_profile
as above.

Harmonic distortion is:

 Harm  Level (dB)
    3 -162.0
    5 -137.8
    7 -128.6
    9 -147.3
   11 -141.1
   13 -138.1
   15 -138.1
   17 -138.6
   19 -139.4
   21 -140.5
   23 -141.6
   25 -142.8
   27 -143.6
   29 -144.6
   31 -145.7
THD:  -125.7

Would such routines be useful in volk / gnuradio ?

Ciao,

-- 
FA









reply via email to

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