[Top][All Lists]
[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
>