On Sat, Jun 6, 2015 at 4:51 PM, Nowlan, Sean <sean.now...@gtri.gatech.edu>
wrote:

>  That makes sense. I installed ORC 0.4.23 and tried to recompile GR, but
> the build is failing on Volk. GCC segfaults a couple times before failing
> with an error on volk_16ic_magnitude_16i_a_orc_impl. Full output here:
>
> https://gist.github.com/nowls/2f6ddf5734e152ca21a7
>
> ORC 0.4.23 was built with:
>
> CFLAGS="-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7
> -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations"
>
> CPPFLAGS="-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7
> -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations"
>
>
>  UHD built fine w/ ORC 0.4.23.
>
>
>  Sean
>
Just disable ORC Altogether in VOLK. Most of the kernels have replacement
NEON proto-kernels now, anyways. Pass -DENABLE_ORC=False to cmake.

Tom




>  ------------------------------
> *From:* West, Nathan <n...@ostatemail.okstate.edu>
> *Sent:* Saturday, June 6, 2015 12:57 PM
>
> *To:* Nowlan, Sean
> *Cc:* discuss-gnuradio@gnu.org
> *Subject:* Re: [Discuss-gnuradio] [VOLK] volk_profile failures
>
>   Most likely.
>
>  What we've seen before is that ORC didn't preserve registers according to
> ARM specifications. This basically results in unpredictable data
> corruption. The commit I pointed to is the fix (vpush certain registers if
> used, then vpop after the routine).
>
> The visible corruption is seen by corrupting the test tolerance. If you
> look at ctest -V you should see that the "error"s are actually the same
> result, but since tolerance gets corrupted the test erroneously is false.
> The only QA failures should be on kernels that have an ORC protokernel, but
> this bug can affect non-ORC protokernels for that kernel.
>
>  Nathan
>
>
> On Sat, Jun 6, 2015 at 12:47 PM, Nowlan, Sean <sean.now...@gtri.gatech.edu
> > wrote:
>
>>  ​Ok, I will install ORC 0.4.23 from source. Is ORC involved with
>> all the other architectures that had failures?
>>
>>
>>  Sean
>>
>>
>>  ------------------------------
>> *From:* West, Nathan <n...@ostatemail.okstate.edu>
>> *Sent:* Friday, June 5, 2015 6:48 PM
>> *To:* Nowlan, Sean
>> *Cc:* discuss-gnuradio@gnu.org
>> *Subject:* Re: [Discuss-gnuradio] [VOLK] volk_profile failures
>>
>>   Hi Sean,
>>
>>  I didn't read all of the debug info, but your symptoms are a result of
>> ORC doing bad things.
>>
>>  You can either uninstall ORC or upgrade to the latest release (0.4.23).
>> The commit you really need is this one:
>> http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c
>>
>>  If you choose to upgrade ORC let me know how it goes.
>>
>>  Cheers,
>> Nathan
>>
>> On Friday, June 5, 2015, Nowlan, Sean <sean.now...@gtri.gatech.edu>
>> wrote:
>>
>>>  I compiled GNU Radio 3.7.7.1 natively on an ODROID XU3-Lite with
>>> Ubuntu 14.04.2 LTS. I ran volk_profile and got a lot of failures for
>>> various embedded architectures. Any ideas what could be happening?
>>> Could it be something with the compile flags I chose?
>>>
>>>
>>>  volk_16ic_s32f_deinterleave_32f_x2: fail on arch neon
>>> volk_16ic_s32f_deinterleave_32f_x2: fail on arch neon
>>> volk_16ic_s32f_deinterleave_32f_x2: fail on arch u_orc
>>> volk_16ic_s32f_deinterleave_32f_x2: fail on arch u_orc
>>> volk_32fc_s32f_magnitude_16i: fail on arch u_orc
>>> volk_32fc_x2_multiply_32fc: fail on arch a_generic
>>> volk_32fc_x2_multiply_32fc: fail on arch a_generic
>>> volk_32fc_x2_multiply_32fc: fail on arch a_generic
>>> volk_32fc_x2_multiply_32fc: fail on arch neon
>>> volk_32fc_x2_multiply_32fc: fail on arch neon
>>> volk_32fc_x2_multiply_32fc: fail on arch neon
>>> volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
>>> volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
>>> volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
>>> volk_32fc_x2_multiply_32fc: fail on arch neonasm
>>> volk_32fc_x2_multiply_32fc: fail on arch neonasm
>>>  volk_32fc_x2_multiply_32fc: fail on arch neonasm
>>> volk_32fc_x2_multiply_32fc: fail on arch u_orc
>>> volk_32fc_x2_multiply_32fc: fail on arch u_orc
>>> volk_32fc_x2_multiply_32fc: fail on arch u_orc
>>> volk_32f_sqrt_32f: fail on arch neon
>>> volk_32f_x3_sum_of_poly_32f: fail on arch a_neon
>>> volk_32f_x3_sum_of_poly_32f: fail on arch neonvert
>>> volk_32fc_s32fc_multiply_32fc: fail on arch neon
>>>
>>>  The full output of volk_profile is here:
>>> <https://gist.github.com/nowls/37c78d89342053bae0ea>
>>> https://gist.github.com/nowls/37c78d89342053bae0ea
>>>  Resulting volk_config:
>>> https://gist.github.com/nowls/5894fbce1b29325b8f58
>>>
>>>  Some relevant configuration info taken from CMakeCache.txt (gcc/g++
>>> version and C/CXX/ASM flags):
>>>
>>>  CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++-4.9
>>> CMAKE_CXX_COMPILER_WITH_PATH:FILEPATH=/usr/bin/g++-4.9
>>> CMAKE_CXX_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7
>>> -mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
>>> -funsafe-math-optimizations
>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g
>>> CMAKE_CXX_FLAGS_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0
>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
>>> CMAKE_CXX_FLAGS_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0
>>> CMAKE_CXX_FLAGS_O2WITHASM:STRING=-Wall -save-temps -g -O2
>>> CMAKE_CXX_FLAGS_O3WITHASM:STRING=-Wall -save-temps -g -O3
>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
>>> CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc-4.9
>>> CMAKE_C_COMPILER_WITH_PATH:FILEPATH=/usr/bin/gcc-4.9
>>> CMAKE_C_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7
>>> -mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
>>> -funsafe-math-optimizations
>>> CMAKE_C_FLAGS_DEBUG:STRING=-g
>>> CMAKE_C_FLAGS_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0
>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
>>> CMAKE_C_FLAGS_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0
>>> CMAKE_C_FLAGS_O2WITHASM:STRING=-Wall -save-temps -g -O2
>>> CMAKE_C_FLAGS_O3WITHASM:STRING=-Wall -save-temps -g -O3
>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
>>> CMAKE_ASM_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7
>>> -mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
>>> -funsafe-math-optimizations
>>> CMAKE_ASM_FLAGS_DEBUG:STRING=-g
>>> CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
>>> CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
>>> CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
>>>
>>>
>>>  Sean Nowlan
>>>
>>>
>>>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to