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