Difference between revisions of "MISC-TN-008: Running Debian Buster (armbian) on Mito8M"

From DAVE Developer's Wiki
Jump to: navigation, search
(Created page with "{{InfoBoxTop}} {{AppliesToMito8M}} {{InfoBoxBottom}} {{WarningMessage|text=This technical note was validated against specific versions of hardware and software. It may not wor...")
 
(3 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
__FORCETOC__
 
__FORCETOC__
 
== History ==
 
== History ==
 +
 +
 +
==Results==
 +
 +
armbian@Mito8M:~/devel/lmbench$ gcc -v
 +
Using built-in specs.
 +
COLLECT_GCC=gcc
 +
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/8/lto-wrapper
 +
Target: aarch64-linux-gnu
 +
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu
 +
Thread model: posix
 +
gcc version 8.3.0 (Debian 8.3.0-6)
 +
===Testbed #1===
 +
 +
 +
{| class="wikitable"
 +
|+
 +
!
 +
!
 +
!Mito8M
 +
!
 +
|-
 +
|
 +
|ARM frequency
 +
[MHz]
 +
|792
 +
|
 +
|-
 +
|
 +
|Frequency
 +
[MHz]
 +
|1600
 +
|
 +
|-
 +
|
 +
|Bus witdth
 +
[bit]
 +
|32
 +
|
 +
|}
 +
 +
 +
==Test programs==
 +
===STREAM===
 +
 +
====Building====
 +
<pre class="board-terminal">
 +
git clone https://github.com/jeffhammond/STREAM.git
 +
make
 +
</pre>
 +
 +
<syntaxhighlight lang="makefile" line='line'>
 +
armbian@Mito8M:~/devel/STREAM$ cat Makefile
 +
CC = gcc
 +
CFLAGS = -O2 -fopenmp
 +
 +
FC = gfortran-4.9
 +
FFLAGS = -O2 -fopenmp
 +
 +
all: stream_c.exe
 +
 +
stream_f.exe: stream.f mysecond.o
 +
        $(CC) $(CFLAGS) -c mysecond.c
 +
        $(FC) $(FFLAGS) -c stream.f
 +
        $(FC) $(FFLAGS) stream.o mysecond.o -o stream_f.exe
 +
 +
stream_c.exe: stream.c
 +
        $(CC) $(CFLAGS) stream.c -o stream_c.exe
 +
 +
clean:
 +
        rm -f stream_f.exe stream_c.exe *.o
 +
 +
# an example of a more complex build line for the Intel icc compiler
 +
stream.icc: stream.c
 +
        icc -O3 -xCORE-AVX2 -ffreestanding -qopenmp -DSTREAM_ARRAY_SIZE=80000000 -DNTIMES=20 stream.c -o stream.omp.AVX2.80M.20x.icc
 +
</syntaxhighlight>
 +
 +
====Running====
 +
<pre class="board-terminal">
 +
armbian@Mito8M:~/devel/STREAM$ ./stream_c.exe
 +
-------------------------------------------------------------
 +
STREAM version $Revision: 5.10 $
 +
-------------------------------------------------------------
 +
This system uses 8 bytes per array element.
 +
-------------------------------------------------------------
 +
Array size = 10000000 (elements), Offset = 0 (elements)
 +
Memory per array = 76.3 MiB (= 0.1 GiB).
 +
Total memory required = 228.9 MiB (= 0.2 GiB).
 +
Each kernel will be executed 10 times.
 +
The *best* time for each kernel (excluding the first iteration)
 +
will be used to compute the reported bandwidth.
 +
-------------------------------------------------------------
 +
Number of Threads requested = 4
 +
Number of Threads counted = 4
 +
-------------------------------------------------------------
 +
Your clock granularity/precision appears to be 1 microseconds.
 +
Each test below will take on the order of 46427 microseconds.
 +
  (= 46427 clock ticks)
 +
Increase the size of the arrays if this shows that
 +
you are not getting at least 20 clock ticks per test.
 +
-------------------------------------------------------------
 +
WARNING -- The above is only a rough guideline.
 +
For best results, please be sure you know the
 +
precision of your system timer.
 +
-------------------------------------------------------------
 +
Function    Best Rate MB/s  Avg time    Min time    Max time
 +
Copy:            6770.5    0.024010    0.023632    0.025117
 +
Scale:          6093.2    0.027474    0.026259    0.029142
 +
Add:            5263.5    0.046008    0.045597    0.046230
 +
Triad:          4820.0    0.050297    0.049793    0.050723
 +
-------------------------------------------------------------
 +
Solution Validates: avg error less than 1.000000e-13 on all three arrays
 +
-------------------------------------------------------------
 +
</pre>

Revision as of 09:31, 15 January 2020

Info Box
DMI-Mito-top.png Applies to Mito8M
Warning-icon.png This technical note was validated against specific versions of hardware and software. It may not work with other versions. Warning-icon.png


History[edit | edit source]

Results[edit | edit source]

armbian@Mito8M:~/devel/lmbench$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/8/lto-wrapper Target: aarch64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu Thread model: posix gcc version 8.3.0 (Debian 8.3.0-6)

Testbed #1[edit | edit source]

Mito8M
ARM frequency

[MHz]

792
Frequency

[MHz]

1600
Bus witdth

[bit]

32


Test programs[edit | edit source]

STREAM[edit | edit source]

Building[edit | edit source]

git clone https://github.com/jeffhammond/STREAM.git
make
 1 armbian@Mito8M:~/devel/STREAM$ cat Makefile 
 2 CC = gcc
 3 CFLAGS = -O2 -fopenmp
 4 
 5 FC = gfortran-4.9
 6 FFLAGS = -O2 -fopenmp
 7 
 8 all: stream_c.exe
 9 
10 stream_f.exe: stream.f mysecond.o
11         $(CC) $(CFLAGS) -c mysecond.c
12         $(FC) $(FFLAGS) -c stream.f
13         $(FC) $(FFLAGS) stream.o mysecond.o -o stream_f.exe
14 
15 stream_c.exe: stream.c
16         $(CC) $(CFLAGS) stream.c -o stream_c.exe
17 
18 clean:
19         rm -f stream_f.exe stream_c.exe *.o
20 
21 # an example of a more complex build line for the Intel icc compiler
22 stream.icc: stream.c
23         icc -O3 -xCORE-AVX2 -ffreestanding -qopenmp -DSTREAM_ARRAY_SIZE=80000000 -DNTIMES=20 stream.c -o stream.omp.AVX2.80M.20x.icc

Running[edit | edit source]

armbian@Mito8M:~/devel/STREAM$ ./stream_c.exe 
-------------------------------------------------------------
STREAM version $Revision: 5.10 $
-------------------------------------------------------------
This system uses 8 bytes per array element.
-------------------------------------------------------------
Array size = 10000000 (elements), Offset = 0 (elements)
Memory per array = 76.3 MiB (= 0.1 GiB).
Total memory required = 228.9 MiB (= 0.2 GiB).
Each kernel will be executed 10 times.
 The *best* time for each kernel (excluding the first iteration)
 will be used to compute the reported bandwidth.
-------------------------------------------------------------
Number of Threads requested = 4
Number of Threads counted = 4
-------------------------------------------------------------
Your clock granularity/precision appears to be 1 microseconds.
Each test below will take on the order of 46427 microseconds.
   (= 46427 clock ticks)
Increase the size of the arrays if this shows that
you are not getting at least 20 clock ticks per test.
-------------------------------------------------------------
WARNING -- The above is only a rough guideline.
For best results, please be sure you know the
precision of your system timer.
-------------------------------------------------------------
Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            6770.5     0.024010     0.023632     0.025117
Scale:           6093.2     0.027474     0.026259     0.029142
Add:             5263.5     0.046008     0.045597     0.046230
Triad:           4820.0     0.050297     0.049793     0.050723
-------------------------------------------------------------
Solution Validates: avg error less than 1.000000e-13 on all three arrays
-------------------------------------------------------------