[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?
From: |
Marcus Müller |
Subject: |
Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM? |
Date: |
Wed, 07 Aug 2013 02:44:47 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 |
Hi Tim,
as far as I can tell, there's not much you can do to improve your arithmetic
performance
"out of the box".
However, you already seem to apply some compiler flags; however, as it seems,
detection of
Neon fails. That points to volk/tmpl/volk_cpu.tmpl.c: has_neon() not being able
to detect neon
on your machine; this may have a lot of reasons, from wrong file permissions on
/proc/self/auxv
to the kernel actually displaying neon support without exposing that via
aforementioned file.
Ideas on that:
- has your kernel's build config maybe not enabled neon?
- does executing
hexdump /proc/self/auxv|sed '0000 0010'
show anything? [1] If not, could you please report the complete output of
hexdump /proc/self/auxv
- if you don't specify _any_ compiler flags when calling cmake in an (unused)
build folder,
which compiler flags does cmake set? ($>grep C_FLAGS CMakeCache.txt)
Happy hacking
Marcus Müller
[1] note: in kernel terms of auxvec.h this stands for AT_HWCAP, see
http://lxr.free-electrons.com/source/include/uapi/linux/auxvec.h?a=arm#L24
How Volk handles it looks like AT_HWCAP can only start on a 4-byte-aligned
address within auxv;
I'm absolutely not sure whether this is correct; on my x86_64 machine, there is
no AT_HWCAP in that case.
On 08/07/2013 01:40 AM, Monahan-Mitchell, Tim wrote:
Volk only gives me 'generic'.
Is there some component available that I can to add to my system to get more
out of it?
Neon is detected, so I think that is why I see the 'generic_orc' machine listed.
The gory details:
gnuradio v3.7.0
Ubuntu 13.04 LTS (ARM distribution, ubuntu-core-13.04-core-armhf.tar.gz)
Part of my cmake config :
cmake -DCMAKE_C_FLAGS:STRING="-I/usr/include/arm-linux-gnueabihf
-mcpu=cortex-a15 \
-mfpu=neon -mvectorize-with-neon-quad -ffast-math -funsafe-loop-optimizations" \
Parts of the cmake output:
-- The CXX compiler identification is GNU 4.7.3
-- The C compiler identification is GNU 4.7.3
<snip>
-- Configuring volk support...
-- Enabling volk support.
-- Override with -DENABLE_VOLK=ON/OFF
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.4")
--
-- Python checking for python >= 2.5
-- Python checking for python >= 2.5 - found
--
-- Python checking for Cheetah >= 2.0.0
-- Python checking for Cheetah >= 2.0.0 - found
-- Boost version: 1.53.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- unit_test_framework
-- checking for module 'orc-0.4 > 0.4.11'
-- found orc-0.4 > 0.4.11, version 0.4.17
-- Found ORC: /usr/lib/arm-linux-gnueabihf/liborc-0.4.so
-- Looking for cpuid.h
-- Looking for cpuid.h - not found
-- Looking for intrin.h
-- Looking for intrin.h - not found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Compiler name: GNU
-- Performing Test HAVE_WERROR_UNUSED_CMD_LINE_ARG
-- Performing Test HAVE_WERROR_UNUSED_CMD_LINE_ARG - Failed
-- Performing Test have_maltivec
-- Performing Test have_maltivec - Failed
-- Performing Test have_mfpu_neon
-- Performing Test have_mfpu_neon - Success
-- Performing Test have_mfloat_abi_softfp
-- Performing Test have_mfloat_abi_softfp - Failed
-- Performing Test have_funsafe_math_optimizations
-- Performing Test have_funsafe_math_optimizations - Success
-- Performing Test have_m32
-- Performing Test have_m32 - Failed
-- Performing Test have_m64
-- Performing Test have_m64 - Failed
-- Performing Test have_m3dnow
-- Performing Test have_m3dnow - Failed
-- Performing Test have_msse4_2
-- Performing Test have_msse4_2 - Failed
-- Performing Test have_mpopcnt
-- Performing Test have_mpopcnt - Failed
-- Performing Test have_mmmx
-- Performing Test have_mmmx - Failed
-- Performing Test have_msse
-- Performing Test have_msse - Failed
-- Performing Test have_msse2
-- Performing Test have_msse2 - Failed
-- Performing Test have_msse3
-- Performing Test have_msse3 - Failed
-- Performing Test have_mssse3
-- Performing Test have_mssse3 - Failed
-- Performing Test have_msse4a
-- Performing Test have_msse4a - Failed
-- Performing Test have_msse4_1
-- Performing Test have_msse4_1 - Failed
-- Performing Test have_mavx
-- Performing Test have_mavx - Failed
-- Available arch: generic;orc;norc
-- Available machines: generic_orc
My /proc/cpuinfo :
Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 13.53
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x1
CPU part : 0x04d
CPU revision : 2
Thanks in advance,
Tim
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
- [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Monahan-Mitchell, Tim, 2013/08/06
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?,
Marcus Müller <=
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Marcus Müller, 2013/08/06
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Monahan-Mitchell, Tim, 2013/08/07
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Marcus Müller, 2013/08/07
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Monahan-Mitchell, Tim, 2013/08/07
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Marcus Müller, 2013/08/07
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Monahan-Mitchell, Tim, 2013/08/07
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Philip Balister, 2013/08/08
- Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Monahan-Mitchell, Tim, 2013/08/12
Re: [Discuss-gnuradio] Volk: Am I getting all that's available for ARM?, Tom Rondeau, 2013/08/07