Open main menu

DAVE Developer's Wiki β

Changes

MISC-TN-009: Characterizing the RAM bandwidth of Mito8M SoM

4,740 bytes added, 10:52, 29 January 2020
pmbw
===pmbw===
====Building====
Building pmbw is straightforward. Please click on ''Expand'' to show the box that illustrates the procedure.
<pre class="board-terminal mw-collapsible mw-collapsed">
armbian@Mito8M:~/devel$ git clone https://github.com/bingmann/pmbw.git
Cloning into 'pmbw'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 386 (delta 1), reused 3 (delta 0), pack-reused 371
Receiving objects: 100% (386/386), 369.04 KiB | 1.27 MiB/s, done.
Resolving deltas: 100% (232/232), done.
armbian@Mito8M:~/devel$ cd pmbw
armbian@Mito8M:~/devel/pmbw$ ./configure && make
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking building for Windows... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking whether g++ supports -march=x86-64... no
checking for pthread_mutex_init in -lpthread... yes
checking for clock_gettime in -lrt... yes
checking for posix_memalign in -lc... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
g++ -DPACKAGE_NAME=\"pmbw\" -DPACKAGE_TARNAME=\"pmbw\" -DPACKAGE_VERSION=\"0.6.3\" -DPACKAGE_STRING=\"pmbw\ 0.6.3\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pmbw\" -DVERSION=\"0.6.3\" -DON_WINDOWS=false -DHAVE_POSIX_MEMALIGN=1 -I. -W -Wall -g -O2 -MT pmbw.o -MD -MP -MF .deps/pmbw.Tpo -c -o pmbw.o pmbw.cc
mv -f .deps/pmbw.Tpo .deps/pmbw.Po
g++ -W -Wall -g -O2 -o pmbw pmbw.o -lpthread -lrt
g++ -DPACKAGE_NAME=\"pmbw\" -DPACKAGE_TARNAME=\"pmbw\" -DPACKAGE_VERSION=\"0.6.3\" -DPACKAGE_STRING=\"pmbw\ 0.6.3\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pmbw\" -DVERSION=\"0.6.3\" -DON_WINDOWS=false -DHAVE_POSIX_MEMALIGN=1 -I. -W -Wall -g -O2 -MT stats2gnuplot.o -MD -MP -MF .deps/stats2gnuplot.Tpo -c -o stats2gnuplot.o stats2gnuplot.cc
mv -f .deps/stats2gnuplot.Tpo .deps/stats2gnuplot.Po
g++ -W -Wall -g -O2 -o stats2gnuplot stats2gnuplot.o -lpthread -lrt</pre>
====Running the tests====
The benchmark was run as follows:<pre class="board-terminal">armbian@Mito8M:~/devel/pmbw$ sudo nice -n -2 ./pmbw -S 0[sudo] password for armbian: Running benchmarks with no upper array size limit.Detected 2997 MiB physical RAM and 4 CPUs.  Allocating 2048 MiB for testing.Running nthreads=1 factor=1073741824 areasize=1024 thrsize=1024 testsize=1024 repeats=1048576 testvol=1073741824 testaccess=268435456run time = 0.694051 -> rerunning test with repeat factor=2320598341Running nthreads=1 factor=2320598341 areasize=1024 thrsize=1024 testsize=1024 repeats=2266210 testvol=2320599040 testaccess=580149760run time = 1.49925 -> next test with repeat factor=2321757595RESULT datetime=2020-01-29 11:52:20 host=Mito8M version=0.6.3 funcname=cScanWrite32PtrSimpleLoop nthreads=1 areasize=1024 threadsize=1024 testsize=1024 repeats=2266210 testvol=2320599040 testaccess=580149760 time=1.4992515009998896858 bandwidth=1547838396.9949886799 rate=2.5842491100916590667e-09Running nthreads=1 factor=ARM core clock 2321757595 areasize= 800 MHz2048 thrsize=2048 testsize=2048 repeats=1133671 testvol=2321758208 testaccess=580439552run time =1.47811 -> next test with repeat factor=2356140806RESULT datetime=2020-01-29 11:52:21 host=Mito8M version=ARM core clock 0.6.3 funcname= 1300 MHzcScanWrite32PtrSimpleLoop nthreads=1 areasize=2048 threadsize=2048 testsize=2048 repeats=1133671 testvol=2321758208 testaccess=580439552 time=1.4781108589995710645 bandwidth=1570760537.9284164906 rate=2.5465371095172560774e-09Running nthreads=1 factor=2356140806 areasize=3072 thrsize=3072 testsize=3072 repeats=766973 testvol=2356141056 testaccess=589035264...</pre>  To generate the charts plotting the results, the following command was issued:<pre class="board-terminal">./stats2gnuplot stats.txt | gnuplot</pre> 
===stressapptest===
====Building====
4,650
edits