[Top][All Lists]

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

Re: [Discuss-gnuradio] VOLK: What Could Make volk_32fc_index_max_16u() G

From: Jeff Long
Subject: Re: [Discuss-gnuradio] VOLK: What Could Make volk_32fc_index_max_16u() Go Wrong?
Date: Tue, 23 Jan 2018 08:38:05 -0500

I added issue https://github.com/gnuradio/volk/issues/139 (on VOLK, not GNU Radio).

On Tue, Jan 23, 2018 at 8:30 AM, Jeff Long <address@hidden> wrote:
OK, we're going to need someone who speaks VOLKan to fix this one, but at least we know it's not a memory corruption problem.

On Tue, Jan 23, 2018 at 8:12 AM, Gilad Beeri (ApolloShield) <address@hidden> wrote:
"~/p/s/p/test_data (master)> cat ~/.volk/volk_config | grep volk_32fc_index_max_16u
volk_32fc_index_max_16u a_sse3 generic"

I did "vector[996] = gr_complex(1,1);" and it resulted in argmax 996 (correct result).
Same results when setting any single sample between 996 to 999.
But - when I set 995 to (1,1), argmax returns 992 (?!)
When I set 992 to (1,1), argmax returns 992.
When I set 991, argmax returns 888.
When I set sample #2, argmax returns 0.

So the pattern seems to be:
Return the first index of the quartet that contains the biggest sample.

On Tue, Jan 23, 2018 at 1:52 PM Jeff Long <address@hidden> wrote:
The generic VOLK implementation (probably not the one being called) can't do this, but the vectorized version (which is probably being called) does things in groups of 4. Can you try making 996 the highest and see if it wrongly reports 999?
Discuss-gnuradio mailing list

reply via email to

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