Re: Building gnuradio and hooking into neonv8

2020-06-02 Thread Johannes Demel
pu_neon - Failed

-- 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_mfma

-- Performing Test have_mfma - 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

-- Performing Test have_mavx2

-- Performing Test have_mavx2 - Failed

-- Performing Test have_mavx512f

-- Performing Test have_mavx512f - Failed

-- Performing Test have_mavx512cd

-- Performing Test have_mavx512cd - Failed

-- Architecture is not x86 or x86_64, Overruled arch 3dnow

-- Architecture is not x86 or x86_64, Overruled arch mmx

-- Architecture is not x86 or x86_64, Overruled arch sse

-- Architecture is not x86 or x86_64, Overruled arch sse2

-- Architecture is not x86 or x86_64, Overruled arch sse3

-- Architecture is not x86 or x86_64, Overruled arch ssse3

-- Architecture is not x86 or x86_64, Overruled arch sse4_a

-- Architecture is not x86 or x86_64, Overruled arch sse4_1

-- Architecture is not x86 or x86_64, Overruled arch sse4_2

-- Architecture is not x86 or x86_64, Overruled arch avx

-- Architecture is not x86 or x86_64, Overruled arch avx512f

-- Architecture is not x86 or x86_64, Overruled arch avx512cd

-- Performing Test neon_compile_result

-- Performing Test neon_compile_result - Success

-- Performing Test have_neonv7_result

-- Performing Test have_neonv7_result - Failed

-- Performing Test have_neonv8_result

-- Performing Test have_neonv8_result - Success

-- Compiler doesn't support neonv7, Overruled arch neonv7

-- ORC support not found, Overruled arch orc

-- Available architectures: generic;neon;neonv8;norc

-- Available machines: generic;neon;neonv8

-- BUILD TYPE = RELEASE

-- Base cflags = -O3 -DNDEBUG  -fcx-limited-range -Wall

-- BUILD INFO ::: generic ::: GNU ::: -O3 -DNDEBUG  -fcx-limited-range 
-Wall


-- BUILD INFO ::: neon ::: GNU ::: -O3 -DNDEBUG  -fcx-limited-range 
-Wall -funsafe-math-optimizations


-- BUILD INFO ::: neonv8 ::: GNU ::: -O3 -DNDEBUG  -fcx-limited-range 
-Wall -funsafe-math-optimizations -funsafe-math-optimizations


-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-- The ASM compiler identification is GNU

-- Found assembler: /usr/bin/cc

-- c flags:  -fcx-limited-range -Wall;

-- asm flags:

-- c flags:  -fcx-limited-range -Wall;

-- asm flags:

-- Did not find liborc and orcc, disabling orc support...

-- Loading version 2.3 into constants...

-- Using install prefix: /usr/local

-- Configuring done

-- Generating done

-- Build files have been written to: /home/pi/volk/build

*From: *Ron Economos <mailto:w...@comcast.net>
*Sent: *30 May 2020 11:48
*To: *discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>
*Subject: *Re: Building gnuradio and hooking into neonv8

It's selecting neonv8, but you can do better. Since you're compiling 
from source, you can use a newer version of volk (which detects ARM CPU 
type better).


cd gnuradio/volk

git checkout v2.3.0

Then use this RPi4 specific cmake invocation. Be sure to delete the 
contents of your build directory first.


cmake 
-DCMAKE_TOOLCHAIN_FILE=../volk/cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake 
../


Give it a try and post your cmake result.

Also, you should install orc. Some kernels can be faster with orc.

sudo apt-get install liborc-0.4-dev

Ron

On 5/30/20 03:06, John Langworthy wrote:

Hi,

I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64
bit ubuntu server. I am unconvinced from the cmake output that it is
going to plan.

I know I could cross-compile, I’ll do that later.

Environment:

gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May 21
14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

What I don’t understand is whether the code (volk) will be built to
hook into neon properly. The thing that is irking me in cmake’s
output is:

-- CPU is armv8, Overruled arch neonv7

What does this mean?

The full c

Re: Building gnuradio and hooking into neonv8

2020-05-30 Thread Ron Economos

You should be okay. Your cmake is selecting:

-- Available architectures: generic;neon;neonv8;norc

-- Available machines: generic;neon;neonv8

So you'll get 32-bit neon (and a couple of 32-bit neonv8) kernels. You 
won't get the assembly language enhancements to some kernels since those 
are only available for armv7.


Ron

On 5/30/20 05:40, Ron Economos wrote:


My bad, that toolchain file is for 32-bit armv8. You're correct that 
those flags are already enabled on 64-bit. However, I'm not sure if 
volk actually supports 64-bit armv8. I'll have to take a look at it. 
Or maybe someone else can comment.


I would go ahead and build GNU Radio and then see what volk_profile 
selects.


Ron

On 5/30/20 04:56, John Langworthy wrote:


Hi Ron,

I already tried to use the compiler args in that toolchain file in my 
gnuradio build but g++ rejects -mfpu=neon-fp-armv8 -mfloat-abi=hard 
saying that they are invalid.


I think this is because it defaults to this on 64bit, but I don’t 
know for sure.


I haven’t actually tried building volk this way yet. I’m on gnuradio 
3.8.1.0, which checks volk out locally. Can it be built separately 
for this version of gnuradio?


Thanks

John

Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
Windows 10


*From: *Ron Economos <mailto:w...@comcast.net>
*Sent: *30 May 2020 11:48
*To: *discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>
*Subject: *Re: Building gnuradio and hooking into neonv8

It's selecting neonv8, but you can do better. Since you're compiling 
from source, you can use a newer version of volk (which detects ARM 
CPU type better).


cd gnuradio/volk

git checkout v2.3.0

Then use this RPi4 specific cmake invocation. Be sure to delete the 
contents of your build directory first.


cmake 
-DCMAKE_TOOLCHAIN_FILE=../volk/cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake 
../


Give it a try and post your cmake result.

Also, you should install orc. Some kernels can be faster with orc.

sudo apt-get install liborc-0.4-dev

Ron

On 5/30/20 03:06, John Langworthy wrote:

Hi,

I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64
bit ubuntu server. I am unconvinced from the cmake output that it
is going to plan.

I know I could cross-compile, I’ll do that later.

Environment:

gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May
21 14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

What I don’t understand is whether the code (volk) will be built
to hook into neon properly. The thing that is irking me in
cmake’s output is:

-- CPU is armv8, Overruled arch neonv7

What does this mean?

The full cmake output is listed below. I’d be very grateful if
someone can tell me if this is good or bad.

Thank you!

-- The CXX compiler identification is GNU 7.5.0

-- The C compiler identification is GNU 7.5.0

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Check for working C compiler: /usr/bin/cc

-- Check for working C compiler: /usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Build type set to Release.

-- 


-- The build system will automatically enable all components.

-- Use -DENABLE_DEFAULT=OFF to disable components by default.

-- 


-- Configuring testing-support support..

--   Enabling testing-support support.

--   Override with -DENABLE_TESTING=ON/OFF

-- Found Git: /usr/bin/git

-- Extracting version information from git describe...

-- Check if the system is big endian

-- Searching 16 bit integer

-- Looking for sys/types.h

-- Looking for sys/types.h - found

-- Looking for stdint.h

-- Looking for stdint.h - found

-- Looking for stddef.h

-- Looking for stddef.h - found

-- Check size of unsigned short

-- Check size of unsigned short - done

-- Using unsigned short

-- Check if the system is big endian - little endian

-- Performing Test HAVE_VISIBILITY_HIDDEN

-- Performing Test HAVE_VISIBILITY_HIDDEN - Success

-- Performing Test HAVE_WARN_SIGN_COMPARE

-- Performing Test HAVE_WARN_SIGN_COMPARE - Success

-- Performing Test HAVE_WARN_ALL

-- Performing Test HAVE_WARN_ALL - Success

-- Performing Test HAVE_WARN_NO_UNINITIALIZED

-- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success

-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for 

RE: Building gnuradio and hooking into neonv8

2020-05-30 Thread John Langworthy
forming Test have_msse4_1-- Performing Test have_msse4_1 - Failed-- Performing Test have_mavx-- Performing Test have_mavx - Failed-- Performing Test have_mavx2-- Performing Test have_mavx2 - Failed-- Performing Test have_mavx512f-- Performing Test have_mavx512f - Failed-- Performing Test have_mavx512cd-- Performing Test have_mavx512cd - Failed-- Architecture is not x86 or x86_64, Overruled arch 3dnow-- Architecture is not x86 or x86_64, Overruled arch mmx-- Architecture is not x86 or x86_64, Overruled arch sse-- Architecture is not x86 or x86_64, Overruled arch sse2-- Architecture is not x86 or x86_64, Overruled arch sse3-- Architecture is not x86 or x86_64, Overruled arch ssse3-- Architecture is not x86 or x86_64, Overruled arch sse4_a-- Architecture is not x86 or x86_64, Overruled arch sse4_1-- Architecture is not x86 or x86_64, Overruled arch sse4_2-- Architecture is not x86 or x86_64, Overruled arch avx-- Architecture is not x86 or x86_64, Overruled arch avx512f-- Architecture is not x86 or x86_64, Overruled arch avx512cd-- Performing Test neon_compile_result-- Performing Test neon_compile_result - Success-- Performing Test have_neonv7_result-- Performing Test have_neonv7_result - Failed-- Performing Test have_neonv8_result-- Performing Test have_neonv8_result - Success-- Compiler doesn't support neonv7, Overruled arch neonv7-- ORC support not found, Overruled arch orc-- Available architectures: generic;neon;neonv8;norc-- Available machines: generic;neon;neonv8-- BUILD TYPE = RELEASE-- Base cflags = -O3 -DNDEBUG  -fcx-limited-range -Wall-- BUILD INFO ::: generic ::: GNU ::: -O3 -DNDEBUG  -fcx-limited-range -Wall -- BUILD INFO ::: neon ::: GNU ::: -O3 -DNDEBUG  -fcx-limited-range -Wall -funsafe-math-optimizations-- BUILD INFO ::: neonv8 ::: GNU ::: -O3 -DNDEBUG  -fcx-limited-range -Wall -funsafe-math-optimizations -funsafe-math-optimizations-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0Copyright (C) 2017 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.-- The ASM compiler identification is GNU-- Found assembler: /usr/bin/cc-- c flags:  -fcx-limited-range -Wall;-- asm flags: -- c flags:  -fcx-limited-range -Wall;-- asm flags: -- Did not find liborc and orcc, disabling orc support...-- Loading version 2.3 into constants...-- Using install prefix: /usr/local-- Configuring done-- Generating done-- Build files have been written to: /home/pi/volk/build  From: Ron EconomosSent: 30 May 2020 11:48To: discuss-gnuradio@gnu.orgSubject: Re: Building gnuradio and hooking into neonv8 It's selecting neonv8, but you can do better. Since you're compiling from source, you can use a newer version of volk (which detects ARM CPU type better).cd gnuradio/volkgit checkout v2.3.0Then use this RPi4 specific cmake invocation. Be sure to delete the contents of your build directory first.cmake -DCMAKE_TOOLCHAIN_FILE=../volk/cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake ../Give it a try and post your cmake result.Also, you should install orc. Some kernels can be faster with orc.sudo apt-get install liborc-0.4-devRonOn 5/30/20 03:06, John Langworthy wrote:Hi,  I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64 bit ubuntu server. I am unconvinced from the cmake output that it is going to plan. I know I could cross-compile, I’ll do that later.  Environment:gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May 21 14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux What I don’t understand is whether the code (volk) will be built to hook into neon properly. The thing that is irking me in cmake’s output is: -- CPU is armv8, Overruled arch neonv7 What does this mean?   The full cmake output is listed below.  I’d be very grateful if someone can tell me if this is good or bad.  Thank you!   



Re: Building gnuradio and hooking into neonv8

2020-05-30 Thread Ron Economos
My bad, that toolchain file is for 32-bit armv8. You're correct that 
those flags are already enabled on 64-bit. However, I'm not sure if volk 
actually supports 64-bit armv8. I'll have to take a look at it. Or maybe 
someone else can comment.


I would go ahead and build GNU Radio and then see what volk_profile selects.

Ron

On 5/30/20 04:56, John Langworthy wrote:


Hi Ron,

I already tried to use the compiler args in that toolchain file in my 
gnuradio build but g++ rejects -mfpu=neon-fp-armv8 -mfloat-abi=hard 
saying that they are invalid.


I think this is because it defaults to this on 64bit, but I don’t know 
for sure.


I haven’t actually tried building volk this way yet. I’m on gnuradio 
3.8.1.0, which checks volk out locally. Can it be built separately for 
this version of gnuradio?


Thanks

John

Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
Windows 10


*From: *Ron Economos <mailto:w...@comcast.net>
*Sent: *30 May 2020 11:48
*To: *discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>
*Subject: *Re: Building gnuradio and hooking into neonv8

It's selecting neonv8, but you can do better. Since you're compiling 
from source, you can use a newer version of volk (which detects ARM 
CPU type better).


cd gnuradio/volk

git checkout v2.3.0

Then use this RPi4 specific cmake invocation. Be sure to delete the 
contents of your build directory first.


cmake 
-DCMAKE_TOOLCHAIN_FILE=../volk/cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake 
../


Give it a try and post your cmake result.

Also, you should install orc. Some kernels can be faster with orc.

sudo apt-get install liborc-0.4-dev

Ron

On 5/30/20 03:06, John Langworthy wrote:

Hi,

I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64
bit ubuntu server. I am unconvinced from the cmake output that it
is going to plan.

I know I could cross-compile, I’ll do that later.

Environment:

gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May
21 14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

What I don’t understand is whether the code (volk) will be built
to hook into neon properly. The thing that is irking me in cmake’s
output is:

-- CPU is armv8, Overruled arch neonv7

What does this mean?

The full cmake output is listed below. I’d be very grateful if
someone can tell me if this is good or bad.

Thank you!

-- The CXX compiler identification is GNU 7.5.0

-- The C compiler identification is GNU 7.5.0

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Check for working C compiler: /usr/bin/cc

-- Check for working C compiler: /usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Build type set to Release.

-- 


-- The build system will automatically enable all components.

-- Use -DENABLE_DEFAULT=OFF to disable components by default.

-- 


-- Configuring testing-support support..

--   Enabling testing-support support.

--   Override with -DENABLE_TESTING=ON/OFF

-- Found Git: /usr/bin/git

-- Extracting version information from git describe...

-- Check if the system is big endian

-- Searching 16 bit integer

-- Looking for sys/types.h

-- Looking for sys/types.h - found

-- Looking for stdint.h

-- Looking for stdint.h - found

-- Looking for stddef.h

-- Looking for stddef.h - found

-- Check size of unsigned short

-- Check size of unsigned short - done

-- Using unsigned short

-- Check if the system is big endian - little endian

-- Performing Test HAVE_VISIBILITY_HIDDEN

-- Performing Test HAVE_VISIBILITY_HIDDEN - Success

-- Performing Test HAVE_WARN_SIGN_COMPARE

-- Performing Test HAVE_WARN_SIGN_COMPARE - Success

-- Performing Test HAVE_WARN_ALL

-- Performing Test HAVE_WARN_ALL - Success

-- Performing Test HAVE_WARN_NO_UNINITIALIZED

-- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success

-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. 
There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

-- Compiler Flags: /usr/bin/cc:::-O3 -DNDEBUG  -fvisibility=hidden
-Wsign-compare -Wall -Wno-uninitialized

/usr/bin/c++:::-O3 -DNDEBUG -fvisibility=hidden -Wsign-compare
-Wall -Wno-uninitialized

-- ADDING PERF COUNTERS

-- Loo

RE: Building gnuradio and hooking into neonv8

2020-05-30 Thread John Langworthy
Hi Ron, I already tried to use the compiler args in that toolchain file in my gnuradio build but g++ rejects   -mfpu=neon-fp-armv8 -mfloat-abi=hard saying that they are invalid.I think this is because it defaults to this on 64bit, but I don’t know for sure. I haven’t actually tried building volk this way yet. I’m on gnuradio 3.8.1.0, which checks volk out locally. Can it be built separately for this version of gnuradio? ThanksJohn Sent from Mail for Windows 10 From: Ron EconomosSent: 30 May 2020 11:48To: discuss-gnuradio@gnu.orgSubject: Re: Building gnuradio and hooking into neonv8 It's selecting neonv8, but you can do better. Since you're compiling from source, you can use a newer version of volk (which detects ARM CPU type better).cd gnuradio/volkgit checkout v2.3.0Then use this RPi4 specific cmake invocation. Be sure to delete the contents of your build directory first.cmake -DCMAKE_TOOLCHAIN_FILE=../volk/cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake ../Give it a try and post your cmake result.Also, you should install orc. Some kernels can be faster with orc.sudo apt-get install liborc-0.4-devRonOn 5/30/20 03:06, John Langworthy wrote:Hi,  I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64 bit ubuntu server. I am unconvinced from the cmake output that it is going to plan. I know I could cross-compile, I’ll do that later.  Environment:gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May 21 14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux What I don’t understand is whether the code (volk) will be built to hook into neon properly. The thing that is irking me in cmake’s output is: -- CPU is armv8, Overruled arch neonv7 What does this mean?   The full cmake output is listed below.  I’d be very grateful if someone can tell me if this is good or bad.  Thank you!-- The CXX compiler identification is GNU 7.5.0-- The C compiler identification is GNU 7.5.0-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Detecting CXX compile features-- Detecting CXX compile features - done-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Detecting C compile features-- Detecting C compile features - done-- Build type set to Release.-- -- The build system will automatically enable all components.-- Use -DENABLE_DEFAULT=OFF to disable components by default.-- -- Configuring testing-support support..--   Enabling testing-support support.--   Override with -DENABLE_TESTING=ON/OFF-- Found Git: /usr/bin/git  -- Extracting version information from git describe...-- Check if the system is big endian-- Searching 16 bit integer-- Looking for sys/types.h-- Looking for sys/types.h - found-- Looking for stdint.h-- Looking for stdint.h - found-- Looking for stddef.h-- Looking for stddef.h - found-- Check size of unsigned short-- Check size of unsigned short - done-- Using unsigned short-- Check if the system is big endian - little endian-- Performing Test HAVE_VISIBILITY_HIDDEN-- Performing Test HAVE_VISIBILITY_HIDDEN - Success-- Performing Test HAVE_WARN_SIGN_COMPARE-- Performing Test HAVE_WARN_SIGN_COMPARE - Success-- Performing Test HAVE_WARN_ALL-- Performing Test HAVE_WARN_ALL - Success-- Performing Test HAVE_WARN_NO_UNINITIALIZED-- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0Copyright (C) 2017 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.-- Compiler Flags: /usr/bin/cc:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized/usr/bin/c++:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized-- ADDING PERF COUNTERS-- Looking for pthread.h-- Looking for pthread.h - found-- Looking for pthread_create-- Looking for pthread_create - not found-- Looking for pthread_create in pthreads-- Looking for pthread_create in pthreads - not found-- Looking for pthread_create in pthread-- Looking for pthread_create in pthread - found-- Found Threads: TRUE  -- Boost version: 1.65.1-- Found the following Boost libraries:--   date_time--   program_options--   filesystem--   system--   regex--   thread--   unit_test_framework--   chrono--   atomic-- User set python executable /home/pi/.conda/envs/gr_py36/bin/python3.6-- Found PythonInterp: /home/pi/.conda/envs/gr_py36/bin/python3.6 (found suitable version "3.6.10", minimum required is "2.7.6") -- Found PythonLibs: /home/pi/.conda/envs/gr_py36/lib/libpython3.6m.so (found suitable exact version "3.6.10") -- Python checking for six - python 2 and 3 compatibility library - found-- -- Checking for module SW

Re: Building gnuradio and hooking into neonv8

2020-05-30 Thread Ron Economos
It's selecting neonv8, but you can do better. Since you're compiling 
from source, you can use a newer version of volk (which detects ARM CPU 
type better).


cd gnuradio/volk

git checkout v2.3.0

Then use this RPi4 specific cmake invocation. Be sure to delete the 
contents of your build directory first.


cmake 
-DCMAKE_TOOLCHAIN_FILE=../volk/cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake 
../


Give it a try and post your cmake result.

Also, you should install orc. Some kernels can be faster with orc.

sudo apt-get install liborc-0.4-dev

Ron

On 5/30/20 03:06, John Langworthy wrote:


Hi,

I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64 bit 
ubuntu server. I am unconvinced from the cmake output that it is going 
to plan.


I know I could cross-compile, I’ll do that later.

Environment:

gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May 21 
14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux


What I don’t understand is whether the code (volk) will be built to 
hook into neon properly. The thing that is irking me in cmake’s output is:


-- CPU is armv8, Overruled arch neonv7

What does this mean?

The full cmake output is listed below.  I’d be very grateful if 
someone can tell me if this is good or bad.


Thank you!

-- The CXX compiler identification is GNU 7.5.0

-- The C compiler identification is GNU 7.5.0

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Check for working C compiler: /usr/bin/cc

-- Check for working C compiler: /usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Build type set to Release.

--

-- The build system will automatically enable all components.

-- Use -DENABLE_DEFAULT=OFF to disable components by default.

--

-- Configuring testing-support support...

--   Enabling testing-support support.

--   Override with -DENABLE_TESTING=ON/OFF

-- Found Git: /usr/bin/git

-- Extracting version information from git describe...

-- Check if the system is big endian

-- Searching 16 bit integer

-- Looking for sys/types.h

-- Looking for sys/types.h - found

-- Looking for stdint.h

-- Looking for stdint.h - found

-- Looking for stddef.h

-- Looking for stddef.h - found

-- Check size of unsigned short

-- Check size of unsigned short - done

-- Using unsigned short

-- Check if the system is big endian - little endian

-- Performing Test HAVE_VISIBILITY_HIDDEN

-- Performing Test HAVE_VISIBILITY_HIDDEN - Success

-- Performing Test HAVE_WARN_SIGN_COMPARE

-- Performing Test HAVE_WARN_SIGN_COMPARE - Success

-- Performing Test HAVE_WARN_ALL

-- Performing Test HAVE_WARN_ALL - Success

-- Performing Test HAVE_WARN_NO_UNINITIALIZED

-- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success

-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.


-- Compiler Flags: /usr/bin/cc:::-O3 -DNDEBUG  -fvisibility=hidden 
-Wsign-compare -Wall -Wno-uninitialized


/usr/bin/c++:::-O3 -DNDEBUG -fvisibility=hidden -Wsign-compare -Wall 
-Wno-uninitialized


-- ADDING PERF COUNTERS

-- Looking for pthread.h

-- Looking for pthread.h - found

-- Looking for pthread_create

-- Looking for pthread_create - not found

-- Looking for pthread_create in pthreads

-- Looking for pthread_create in pthreads - not found

-- Looking for pthread_create in pthread

-- Looking for pthread_create in pthread - found

-- Found Threads: TRUE

-- Boost version: 1.65.1

-- Found the following Boost libraries:

--   date_time

--   program_options

--   filesystem

--   system

--   regex

--   thread

--   unit_test_framework

--   chrono

--   atomic

-- User set python executable /home/pi/.conda/envs/gr_py36/bin/python3.6

-- Found PythonInterp: /home/pi/.conda/envs/gr_py36/bin/python3.6 
(found suitable version "3.6.10", minimum required is "2.7.6")


-- Found PythonLibs: /home/pi/.conda/envs/gr_py36/lib/libpython3.6m.so 
(found suitable exact version "3.6.10")


-- Python checking for six - python 2 and 3 compatibility library - found

--

-- Checking for module SWIG

-- Found SWIG version 3.0.12.

-- Found SWIG: /usr/bin/swig3.0

--

-- Configuring python-support support...

--   Dependency PYTHONLIBS_FOUND = TRUE

--   Dependency SWIG_FOUND = TRUE

--   Dependency SWIG_VERSION_CHECK = TRUE

--   Dependency SIX_FOUND = TRUE

--   Enabling python-support support.

--   Override with -DENABLE_PYTHON=ON/OFF

--

-- Configuring VOLK support...

-- Build type set to Release.

-- Extracting 

Building gnuradio and hooking into neonv8

2020-05-30 Thread John Langworthy
Hi,  I am trying to build gnuradio 3.8.10 on a raspberry pi 4 under 64 bit ubuntu server. I am unconvinced from the cmake output that it is going to plan. I know I could cross-compile, I’ll do that later.  Environment:gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0Linux raspberry 5.3.0-1026-raspi2 #28~18.04.1-Ubuntu SMP Thu May 21 14:48:58 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux What I don’t understand is whether the code (volk) will be built to hook into neon properly. The thing that is irking me in cmake’s output is: -- CPU is armv8, Overruled arch neonv7 What does this mean?   The full cmake output is listed below.  I’d be very grateful if someone can tell me if this is good or bad.  Thank you!-- The CXX compiler identification is GNU 7.5.0-- The C compiler identification is GNU 7.5.0-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Detecting CXX compile features-- Detecting CXX compile features - done-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Detecting C compile features-- Detecting C compile features - done-- Build type set to Release.-- -- The build system will automatically enable all components.-- Use -DENABLE_DEFAULT=OFF to disable components by default.-- -- Configuring testing-support support...--   Enabling testing-support support.--   Override with -DENABLE_TESTING=ON/OFF-- Found Git: /usr/bin/git  -- Extracting version information from git describe...-- Check if the system is big endian-- Searching 16 bit integer-- Looking for sys/types.h-- Looking for sys/types.h - found-- Looking for stdint.h-- Looking for stdint.h - found-- Looking for stddef.h-- Looking for stddef.h - found-- Check size of unsigned short-- Check size of unsigned short - done-- Using unsigned short-- Check if the system is big endian - little endian-- Performing Test HAVE_VISIBILITY_HIDDEN-- Performing Test HAVE_VISIBILITY_HIDDEN - Success-- Performing Test HAVE_WARN_SIGN_COMPARE-- Performing Test HAVE_WARN_SIGN_COMPARE - Success-- Performing Test HAVE_WARN_ALL-- Performing Test HAVE_WARN_ALL - Success-- Performing Test HAVE_WARN_NO_UNINITIALIZED-- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success-- Compiler Version: cc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0Copyright (C) 2017 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.-- Compiler Flags: /usr/bin/cc:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized/usr/bin/c++:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized-- ADDING PERF COUNTERS-- Looking for pthread.h-- Looking for pthread.h - found-- Looking for pthread_create-- Looking for pthread_create - not found-- Looking for pthread_create in pthreads-- Looking for pthread_create in pthreads - not found-- Looking for pthread_create in pthread-- Looking for pthread_create in pthread - found-- Found Threads: TRUE  -- Boost version: 1.65.1-- Found the following Boost libraries:--   date_time--   program_options--   filesystem--   system--   regex--   thread--   unit_test_framework--   chrono--   atomic-- User set python executable /home/pi/.conda/envs/gr_py36/bin/python3.6-- Found PythonInterp: /home/pi/.conda/envs/gr_py36/bin/python3.6 (found suitable version "3.6.10", minimum required is "2.7.6") -- Found PythonLibs: /home/pi/.conda/envs/gr_py36/lib/libpython3.6m.so (found suitable exact version "3.6.10") -- Python checking for six - python 2 and 3 compatibility library - found-- -- Checking for module SWIG-- Found SWIG version 3.0.12.-- Found SWIG: /usr/bin/swig3.0  -- -- Configuring python-support support...--   Dependency PYTHONLIBS_FOUND = TRUE--   Dependency SWIG_FOUND = TRUE--   Dependency SWIG_VERSION_CHECK = TRUE--   Dependency SIX_FOUND = TRUE--   Enabling python-support support.--   Override with -DENABLE_PYTHON=ON/OFF-- -- Configuring VOLK support...-- Build type set to Release.-- Extracting version information from git describe...-- -- Python checking for python >= 2.7-- Python checking for python >= 2.7 - found-- -- Python checking for mako >= 0.4.2-- Python checking for mako >= 0.4.2 - found-- -- Python checking for six - python 2 and 3 compatibility library-- Python checking for six - python 2 and 3 compatibility library - found-- Boost version: 1.65.1-- Found the following Boost libraries:--   filesystem--   system-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- Checking for module 'orc-0.4 > 0.4.11'--   No package 'orc-0.4' found-- orc files (missing: ORC_LIBRARY ORC_INCLUDE_DIR ORCC_EXECUTABLE) -- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components:  doxygen missing components:  dot-- QA Testing is enabled.--   Modify