On Wed, Jan 23, 2013 at 10:43 AM, Michael Dickens <m...@alum.mit.edu> wrote:

> On Jan 23, 2013, at 10:34 AM, Tom Rondeau <t...@trondeau.com> wrote:
> >> On Wed, Jan 23, 2013 at 10:29 AM, Michael Dickens <m...@alum.mit.edu>
> wrote:
> >> I'm wondering what "volk_profile" is doing?  It looks like it's running
> through (all?) available kernels for a given algorithm and finding the
> "best" (fastest?) one.  Is this correct?
> >>
> > Yes, that's correct. It runs each proto-kernel available on your machine
> and compares how long it took to execute them, then it stores the fastest
> version in the config file. This is then read when your program initializes
> a new VOLK kernel to find the right one to use.
>
> Ah; OK.  Sort of like what FFTW does for fft's, but probably with its own
> twist.  So if the "volk_config" file exists, VOLK reads it and uses it to
> determine which kernel to use for a given VOLK algorithm instantiation.
>  [Is there a proper VOLK-like name for a "VOLK algorithm instantiation"?]
>  If this file does not exist, how does VOLK pick the kernel?  Is this info
> somewhere in a Wiki?  I haven't looked, so forgive me if I'm asking FAQ's.
> - MLD


We call the "VOLK algorithm instantiations" VOLK proto-kernels.

When the volk_config file doesn't exist or if it does not contain a
reference to the kernel (say you've installed a new version and did not
update your profile), then VOLK takes the set of proto-kernels that your
machine can run and selects the 'highest' version. So ACX > SSE4 > SS2 >
MMX, etc. While this isn't always the best kernel to use on a given
machine, it's definitely the best way to select barring other information.

Will have to check the wiki to see how complete it currently is. Also, we
just published a paper describing VOLK at the SDR conference. I should
upload that to the website.

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

Reply via email to