Forum: GNU Radio Error "SSE3 instruction set not enabled" when using VOLK

2dc1bd62e0e8db26726b5b28cdd9a2e2?d=identicon&s=25 Alex Zhang (Guest)
on 2012-10-23 00:54
(Received via mailing list)
Hello,

I am trying to use the volk_32fc_x2_multiply_conjugate_32fc_a_sse3() in
my
signal processing code. However, when I compile my code, it was told
that Error "SSE3 instruction set not enabled" and the intrinsics within
this VOLK method are not recognized at all.
It was told that the -msse3 option is needed in gcc/g++ compilation to
enable the support on sse3. But I don't know where I can specify this
option. I did not find related content in the CMakelist of other blocks
who
support sse, like some filters.

Also, my CPU is Core I7-2600, which is suppose to support  SSE3.

Thanks,

--

Alex,
*Dreams can come true  just believe.*
C539637020fd56193dd6daec746c4a84?d=identicon&s=25 Tom Rondeau (Guest)
on 2012-10-23 16:22
(Received via mailing list)
On Mon, Oct 22, 2012 at 6:53 PM, Alex Zhang <cingular.alex@gmail.com>
wrote:
>
> Also, my CPU is Core I7-2600, which is suppose to support  SSE3.
>
> Thanks,
>
> --
>
> Alex,
> Dreams can come true  just believe.


Alex,

VOLK is not intended for you to explicitly call a kernel of a
particular type. You want to call the abstract verson
(volk_32fc_x2_multiply_conjugate_32fc_a) and let the VOLK runtime
decide what the best available proto-kernel is (this is determined
from your volk_config file after you run volk_profile). That will make
sure that you are using a proto-kernel that you properly compiled and
that can run on your processor.

To check more into why SSE3 is not available on your machine, take a
look at the output of cmake to see what it tells you. You can look to
see what the value of "have_msse3" is in the CMakeCache.txt file.

During make, you can run 'make VERBOSE=1' to get the full compile
line, too, where you can see what flags are actually being used by GCC
when compiling.

Tom
2dc1bd62e0e8db26726b5b28cdd9a2e2?d=identicon&s=25 Alex Zhang (Guest)
on 2012-10-23 17:18
(Received via mailing list)
Thanks Tom and Nick, it works now, by just calling the abstract method
name.

On Tue, Oct 23, 2012 at 9:21 AM, Tom Rondeau <tom@trondeau.com> wrote:

> > It was told that the -msse3 option is needed in gcc/g++ compilation to
> >
> from your volk_config file after you run volk_profile). That will make
>
> Tom
>



--

Alex,
*Dreams can come true  just believe.*
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.