I confirmed this works on E100 insofar as I no longer get a segfault on 
volk_32fc_s32fc_multiple_32fc_a. But volk_32fc_s32f_magnitude_16i_a and 
volk_32fc_x2_multiply_32fc_a still fail as expected.

Sean

From: trond...@trondeau.com [mailto:trond...@trondeau.com] On Behalf Of Tom 
Rondeau
Sent: Tuesday, February 21, 2012 6:49 PM
To: Nick Foster
Cc: Nowlan, Sean; discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Using volk in Mac: test report

On Tue, Feb 21, 2012 at 6:43 PM, Nick Foster 
<n...@ettus.com<mailto:n...@ettus.com>> wrote:
Tom, Sean,

There's a couple of things here. First, the Orc volk_32fc_s32f_magnitude_16i_a 
function is rounding differently than the generic versions on E100 for some 
reason. Not fatal, totally usable, but it makes the QA code fail. Second, the 
volk_32fc_x2_multiply_32fc_a looks like it's working fine but the thresholds 
are too close in the comparison function, which is strange because it uses the 
same threshold I use everywhere else. I'll keep looking into that. In any case, 
they're fine for use in Volk as-is.

I think the segfault in volk_32fc_s32fc_multiply_32fc_a is being caused by a 
bug in the profiler code as well. It's not correctly handling complex scalars. 
The function itself doesn't actually work either, which doesn't help, but it 
wasn't caught because the profiler code was buggy...

Tom, I pushed a fix to my github under "volk_fix". For now I've disabled 
volk_32fc_s32fc_multiple_32fc_a since I can't figure out a clean way to get it 
to work under Orc; I had a misunderstanding of how float parameters are handled 
inside array operations. I also added complex scalar handling. I'll keep 
looking into solving this one for real but this will get things working for now.

--n

Nick,
Thanks a ton for working on this. I'll merge your branch asap.

Tom


On Sat, Feb 18, 2012 at 1:05 PM, Tom Rondeau 
<t...@trondeau.com<mailto:t...@trondeau.com>> wrote:
On Fri, Feb 17, 2012 at 6:04 PM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Don't know how helpful these are, but here you go.

Sean

Sean,
It looks like a couple of functions are failing from the stdout:

volk_32fc_s32f_magnitude_16i_a: fail on arch orc
volk_32fc_x2_multiply_32fc_a: fail on arch orc

These are both the Orc implementations of the functions, which seem to work 
fine on my Intel processors. I don't have access to an OSX box or an E100, so I 
can't really test this out. The files you sent me don't (appear to) tell me 
what the real problem is.

We'll need some other brave soul out there who can dig into these issues on the 
platforms for us.

Thanks,
Tom



From: trond...@trondeau.com<mailto:trond...@trondeau.com> 
[mailto:trond...@trondeau.com<mailto:trond...@trondeau.com>] On Behalf Of Tom 
Rondeau
Sent: Friday, February 17, 2012 5:25 PM
To: Nowlan, Sean
Cc: Nick Foster; discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>

Subject: Re: [Discuss-gnuradio] Using volk in Mac: test report

On Fri, Feb 17, 2012 at 5:11 PM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
I built Tom's safe_align branch on E100 and ran volk_profile. It segfaulted on 
"RUN_VOLK_TESTS:volk_32fc_s32fc_multiply_32fc_a. I'll get a stack trace for you.

Sean

Really interesting that it's the same block. Hopefully, it's a single, simple 
fix. I'll look into it when you can get me the stack trace.

Thanks for reporting!
Tom



From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech....@gnu.org<mailto:gtri.gatech....@gnu.org>
 
[mailto:discuss-gnuradio-bounces+sean.nowlan<mailto:discuss-gnuradio-bounces%2Bsean.nowlan>=gtri.gatech....@gnu.org<mailto:gtri.gatech....@gnu.org>]
 On Behalf Of Tom Rondeau
Sent: Friday, February 17, 2012 2:33 PM
To: Nick Foster
Cc: discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>
Subject: Re: [Discuss-gnuradio] Using volk in Mac: test report

On Fri, Feb 17, 2012 at 2:30 PM, Nick Foster 
<n...@ettus.com<mailto:n...@ettus.com>> wrote:
On Fri, Feb 17, 2012 at 11:20 AM, Carles Fernandez 
<carles.fernan...@gmail.com<mailto:carles.fernan...@gmail.com>> wrote:
Thanks for the inputs!

We are interested in determining the best architecture at instantation
time. What would be the best strategy? We though about running the
same operations several times for each architecture, measure the
results and use the fastest one for the processing blocks. Would this
be the right approach?

Carles,

Run volk_profile. It does exactly what you said, and writes the results to 
~/.volk/volk_config. Volk reads this file when it is involked (sorry) to 
determine which particular function to execute. So all you do is run 
volk_profile once on any given machine, and it's optimized.

--n

Carles,
This is discussed on the webpage:
http://gnuradio.org/redmine/projects/gnuradio/wiki/volk

We'll be updating this as things progress with Volk, but the profiler info is 
there already.

Tom





_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to