# Volk update to master/next

**URL:** <https://www.ruby-forum.com/t/volk-update-to-master-next/217460>\
**Category:** GNU Radio\
**Created:** [March 2, 2012, 4:21am UTC](https://www.ruby-forum.com/t/volk-update-to-master-next/217460 "2012-03-02T04:21:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [March 2, 2012, 4:21am UTC](https://www.ruby-forum.com/t/volk-update-to-master-next/217460/1 "2012-03-02T04:21:02Z")

</div>

Hi everyone,  
I just wanted to inform everyone that we made a significant update to  
master/next tonight to start using Volk. This merges in my safe\_align  
branch that I mentioned a couple of weeks ago.

After verifying that it was working on various platforms, including the  
E100 (and therefore ARM/NEON systems), we went ahead with the merge  
tonight. With luck, the only thing you’ll notice is improved speed of  
your  
GNU Radio programs.

Please let us know if you experience any trouble from this. We’re hoping  
to  
cut a 3.5.2 version of GNU Radio this weekend that will incorporate this  
change.

Take a look at my “Volk Benchmarking” and “Volk Integration into GNU  
Radio”  
entries at [Blog — Rondeau Research](http://www.trondeau.com/blog) for some more details if you’re  
interested  
in what all of this means.

Thanks,  
Tom

---

<div class="post-metadata">

**Author:** ![tomrobinson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@tomrobinson](https://www.ruby-forum.com/u/tomrobinson)\
**Post date:** [March 3, 2012, 6:01pm UTC](https://www.ruby-forum.com/t/volk-update-to-master-next/217460/2 "2012-03-03T18:01:39Z")

</div>

> Please let us know if you experience any trouble from this. We’re  
> hoping to cut a 3.5.2 version of GNU Radio this weekend that  
> will incorporate this change.
> 
> Take a look at my “Volk Benchmarking” and “Volk Integration into GNU  
> Radio” entries at [Blog — Rondeau Research](http://www.trondeau.com/blog) [http://www.trondeau.com/blog](http://www.trondeau.com/blog)  
> for some more details if you’re interested in what all of this means.
> 
> Thanks,  
> Tom

So far, so good. I had to recompile gr-rds.

I’m running two different Gnu Radio apps on my machine right now–one  
using USRP the other using the sound subsystem.

My seat-of-the-pants estimate is that overall performance has improved  
about 15%.

---

<div class="post-metadata">

**Author:** ![tomrobinson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@tomrobinson](https://www.ruby-forum.com/u/tomrobinson)\
**Post date:** [March 3, 2012, 9:01pm UTC](https://www.ruby-forum.com/t/volk-update-to-master-next/217460/3 "2012-03-03T21:01:07Z")

</div>

> [25%] Building CXX object  
> gnuradio-core/src/lib/CMakeFiles/gnuradio-core.dir/general/gr\_add\_ff.cc.o  
> /home/glneo/gnuradio/gnuradio-core/src/lib/general/gr\_add\_ff.cc: In member  
> function ‘virtual int gr\_add\_ff::work(int, gr\_vector\_const\_void\_star&,  
> gr\_vector\_void\_star&)’:  
> /home/glneo/gnuradio/gnuradio-core/src/lib/general/gr\_add\_ff.cc:59: error:  
> ‘volk\_32f\_x2\_add\_32f\_u’ was not declared in this scope

breaks on this over here in FreeBSD land. In volk.h:

> extern VOLK\_API p\_32f\_x2\_add\_32f\_a volk\_32f\_x2\_add\_32f\_a;  
> extern VOLK\_API void volk\_32f\_x2\_add\_32f\_a\_manual(float\* cVector, const float\*  
> aVector, const float\* bVector, unsigned int num\_points, const char\* arch);  
> extern VOLK\_API struct volk\_func\_desc volk\_32f\_x2\_add\_32f\_a\_get\_func\_desc(void);

> extern VOLK\_API p\_32f\_x2\_add\_32f\_u volk\_32f\_x2\_add\_32f\_u;  
> extern VOLK\_API void volk\_32f\_x2\_add\_32f\_u\_manual(float\* cVector, const float\*  
> aVector, const float\* bVector, unsigned int num\_points, const char\* arch);  
> extern VOLK\_API struct volk\_func\_desc volk\_32f\_x2\_add\_32f\_u\_get\_func\_desc(void);

It finds \_a but not \_u, I’m not really sure whats going on here.

---

<div class="post-metadata">

**Author:** ![tomrobinson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@tomrobinson](https://www.ruby-forum.com/u/tomrobinson)\
**Post date:** [March 5, 2012, 11:33am UTC](https://www.ruby-forum.com/t/volk-update-to-master-next/217460/4 "2012-03-05T11:33:32Z")

</div>

Ok, false alarm with my bug, apparently the compiler checks the old  
installed volk directory first, once I cleaned out my system include  
dir it compiled fine.

There is a noticeable difference on my old P4 with sse3 in everything  
GNU Radio related! This is great stuff!

---

<div class="post-metadata">

**Author:** ![tomrobinson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@tomrobinson](https://www.ruby-forum.com/u/tomrobinson)\
**Post date:** [March 5, 2012, 1:14pm UTC](https://www.ruby-forum.com/t/volk-update-to-master-next/217460/5 "2012-03-05T13:14:50Z")

</div>

On Sun, Mar 4, 2012 at 12:30 PM, Andrew D.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> Ok, false alarm with my bug, apparently the compiler checks the old  
> installed volk directory first, once I cleaned out my system include  
> dir it compiled fine.
> 
> There is a noticeable difference on my old P4 with sse3 in everything  
> GNU Radio related! This is great stuff!

Andrew,  
Glad to hear it’s working well for you! I was going to suggest something  
like that, since I had a similar situation on the E100.

Tom
