discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Cannot compile Volk


From: Pol Henarejos
Subject: Re: [Discuss-gnuradio] Cannot compile Volk
Date: Tue, 17 Jul 2012 09:20:07 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1

Dear Josh,

Your patch works for me. Now I am compiling next branch. Hope you could
commit to git.

Thanks for your effort.

-- 

Pol Henarejos
Research Engineer, MSc
address@hidden

Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)
Engineering Unit
Parc Mediterrani de la Tecnologia
Av. Carl Friedrich Gauss, 7
08860 Castelldefels, Barcelona (Spain)
Tel: +34 93 396 71 70  Ext: 2177
Fax. +34 93 645 29 01
www.cttc.es

Alright, i have kind of a fix. Here is the diff:
http://pastebin.com/fv4tRfEF

Basically, it looks like you cant MMX on win64. So I added mmx as an
optional parameter to the 3 machine definitions that get used on
windows. When on MSVC 64bit, the mmx arch will get overruled.

On the kernel side, I added LV_HAVE_MMX to the dot prod kernel. Since
this kernel requires MMX, in this case the build system will prevent its
building when MMX is not available (aka mmx is overruled):

-josh

On 07/16/2012 10:42 AM, Josh Blum wrote:
> The problem is that volk_16i_32fc_dot_prod_32fc_a_sse is using MMX
> instructions which it seems that you cant do in 64 bit windows
>
> These should probably be replaced with SSE equivalent functions
> m0 = _mm_set_pi16(*(aPtr+3), *(aPtr+2), *(aPtr+1), *(aPtr+0));
> m1 = _mm_set_pi16(*(aPtr+7), *(aPtr+6), *(aPtr+5), *(aPtr+4));
>
> -josh
>
> On 07/16/2012 10:30 AM, Josh Blum wrote:
>>
>>
>> On 07/16/2012 06:45 AM, Pol Henarejos wrote:
>>> Dear list,
>>>
>>> I am trying to compile gnuradio using MSVC2010 but I cannot compile
>>> Volk. I tried with next and master branches but no luck. Nevertheless,
>>> if I use maint branch it works correctly. I am compiling the code for
>>> x64 target. Please find the output of compiler. It is in spanish but it
>>> means "unresolved external symbol xxx".
>>>
>>
>> Hmm... looks like a win64 problem. this post seem to have the same
>> issue: http://software.intel.com/en-us/forums/showthread.php?t=62824
>>
>> It seems to suggest there is a matter of including headers in the
>> correct order. I will get back to this thread if I figure it out!
>>
>> -josh
>>
>>> Thanks for your help.
>>>
>>>
>>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _m_punpcklwd
>>> sin resolver al que se hace referencia en la función _mm_cvtpi16_ps
>>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _m_punpcklwd sin
>>> resolver
>>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _mm_cvt_pi2ps
>>> sin resolver al que se hace referencia en la función _mm_cvtpi16_ps
>>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _mm_cvt_pi2ps
>>> sin resolver
>>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _m_punpckhwd
>>> sin resolver al que se hace referencia en la función _mm_cvtpi16_ps
>>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _m_punpckhwd sin
>>> resolver
>>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _m_pcmpgtw sin
>>> resolver al que se hace referencia en la función _mm_cvtpi16_ps
>>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _m_pcmpgtw sin
>>> resolver
>>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo
>>> _mm_setzero_si64 sin resolver al que se hace referencia en la función
>>> _mm_cvtpi16_ps
>>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _mm_setzero_si64
>>> sin resolver
>>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _mm_set_pi16
>>> sin resolver al que se hace referencia en la función "void __cdecl
>>> volk_16i_32fc_dot_prod_32fc_a_sse(class std::complex<float> *,short
>>> const *,class std::complex<float> const *,unsigned int)"
>>>
(?volk_16i_32fc_dot_prod_32fc_a_sse@@address@hidden@std@@address@hidden@Z)
>>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _mm_set_pi16 sin
>>> resolver
>>>
>>>
>>>
>

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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