Hi Fons,
first off, we'd need to know a bit more about your setup. Could you
share the versions of VOLK and your host system, e.g. OS, version, etc.
Furthermore, do you use a VM, a container, or smth like this?
Regarding your question, if these functions may be useful to VOLK / GNU
Radio. I'd say yes. We'd have to figure out how this may work in
practice though. I'd suggest to start with a PR.
Cheers
Johannes
On 13.10.23 16:08, Fons Adriaensen wrote:
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,