discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] how to test sse2 support using cmake


From: Josh Blum
Subject: Re: [Discuss-gnuradio] how to test sse2 support using cmake
Date: Thu, 20 Sep 2012 12:53:06 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0


On 09/20/2012 09:37 AM, Kyle Zhou wrote:
> Thanks Nick. Yes, I would like to migrate to volk and avoid all the
> hassles. Need to take some time to learn volk first. Can I assume
> volk can perform most of the intrinsics of sse2? Regards KZ On


Checkout the next branch (which has the latest in volk work)

create volk/kernels/volk/volk_my_kern.h

#ifdef LV_HAVE_GENERIC

volk_my_kern_generic(params)
{
        //generic c implementation
}

#endif

#ifdef LV_HAVE_SSE2

#include <intrinsics headers.h>

//the _a means that this kernel requires aligned pointers
//otherwise use _u if it does not

volk_my_kern_sse2_a(params)
{
        //call sse intrinsics here
}

#endif

------------------------------------------------------------------

Now just re-run cmake and build. When you include volk/volk.h you will
have access to volk_my_kern(params) and that handles the runtime selection.

Rename my_kern to follow the naming convention and contribute the work
back! :-)

-josh


> 18/09/2012, at 2:04 AM, Nick Foster wrote:
> 
>> Kyle,
>> 
>> <superhero> This sounds like a job for VOLK! </superhero>
>> 
>> Seriously, sounds like your block could benefit from all the nice
>> housekeeping that Volk takes care of for you, including runtime
>> auto-detection of platform support, conditional compiling based on
>> compiler support, and alignment reporting. Consider including at
>> least the crunchy SSE core in libvolk. Check out the Volk guide in
>> the documentation for instructions.
>> 
>> --n
>> 
>> On Sun, Sep 16, 2012 at 9:50 PM, Kyle Zhou <address@hidden>
>> wrote: I have a block which depends on sse2. I need to tell cmake
>> to check if the cpu support sse2 in order to determine if the sse2
>> acceleated version or a generic version should be used. This should
>> be straight forward. However, I just cannot find an example
>> CMakeLists.txt to get me a quick start. Any suggested readings?
>> thanks K Z _______________________________________________ 
>> Discuss-gnuradio mailing list address@hidden 
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>> 
> 
> 
> 
> 
> _______________________________________________ Discuss-gnuradio
> mailing list address@hidden 
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]