On Tue, Feb 21, 2012 at 6:43 PM, Nick Foster <[email protected]> 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 <[email protected]> wrote: > >> On Fri, Feb 17, 2012 at 6:04 PM, Nowlan, Sean < >> [email protected]> 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:* [email protected] [mailto:[email protected]] *On Behalf >>> Of *Tom Rondeau >>> *Sent:* Friday, February 17, 2012 5:25 PM >>> *To:* Nowlan, Sean >>> *Cc:* Nick Foster; [email protected] >>> >>> *Subject:* Re: [Discuss-gnuradio] Using volk in Mac: test report**** >>> >>> ** ** >>> >>> On Fri, Feb 17, 2012 at 5:11 PM, Nowlan, Sean < >>> [email protected]> 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:* [email protected][mailto: >>> [email protected]] *On >>> Behalf Of *Tom Rondeau >>> *Sent:* Friday, February 17, 2012 2:33 PM >>> *To:* Nick Foster >>> *Cc:* [email protected] >>> *Subject:* Re: [Discuss-gnuradio] Using volk in Mac: test report**** >>> >>> **** >>> >>> On Fri, Feb 17, 2012 at 2:30 PM, Nick Foster <[email protected]> wrote:**** >>> >>> On Fri, Feb 17, 2012 at 11:20 AM, Carles Fernandez < >>> [email protected]> 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 [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
