Running the Phoronix Test Suite on a board powered by the Yocto Project

 

Introduction

This work is sponsored by Reliable Embedded Systems. You can find more information about our training/consulting services here.

Objectives

The goal of this blog post is to show you how you can run the Phoronix Test Suite on one of your Yocto powered boards.

Issue

You would like to run some benchmarks on your Yocto Project powered embedded board.

Now what?

Head over to the OpenEmbedded layer index and search for Phoronix Test Suite. Then you could include it somewhat like I do here.

Try the basics:

root@phyboard-polis-imx8mm:/# phoronix-test-suite --help


Phoronix Test Suite v9.2.1 (Hurdal)

The **Phoronix Test Suite** is the most comprehensive testing and benchmarking platform available for Linux, Solaris, macOS, Windows, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners.

View the included documentation or visit https://www.phoronix-test-suite.com/ for full details.

SYSTEM

    diagnostics
    interactive
    php-conf
    shell
    system-info
    system-sensors

TEST INSTALLATION

    force-install         [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    install               [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    install-dependencies  [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    make-download-cache
    remove-installed-test [Test]

TESTING

    benchmark          [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    estimate-run-time  [Test | Suite | OpenBenchmarking ID | Test Result]
    finish-run         [Test Result]
    run                [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    run-random-tests
    run-tests-in-suite
    stress-batch-run   [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    stress-run         [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    strict-benchmark   [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    strict-run         [Test | Suite | OpenBenchmarking ID | Test Result]  ...

BATCH TESTING

    batch-benchmark   [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    batch-install     [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    batch-run         [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    batch-setup
    default-benchmark [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    default-run       [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    dry-run           [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    internal-run      [Test | Suite | OpenBenchmarking ID | Test Result]  ...

OPENBENCHMARKING.ORG

    clone-result                  [OpenBenchmarking ID]  ...
    list-recommended-tests
    make-openbenchmarking-cache
    openbenchmarking-changes  
    openbenchmarking-login
    openbenchmarking-refresh  
    openbenchmarking-repositories
    openbenchmarking-uploads  
    recently-added-tests
    upload-result                 [Test Result]
    upload-test-profile
    upload-test-suite

INFORMATION

    info                          [Test | Suite | OpenBenchmarking ID | Test Result]
    list-all-tests
    list-available-suites
    list-available-tests
    list-available-virtual-suites
    list-cached-tests
    list-installed-dependencies
    list-installed-suites
    list-installed-tests
    list-missing-dependencies 
    list-not-installed-tests  
    list-possible-dependencies
    list-saved-results
    list-test-usage
    list-unsupported-tests
    search

ASSET CREATION

    build-suite
    create-test-profile
    debug-benchmark           [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    debug-install             [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    debug-result-parser       [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    debug-test-download-links [Test | Suite | OpenBenchmarking ID | Test Result]
    download-test-files       [Test | Suite | OpenBenchmarking ID | Test Result]  ...
    inspect-test-profile      [Test]
    result-file-to-suite      [Test Result]
    validate-result-file
    validate-test-profile     [Test]
    validate-test-suite

RESULT MANAGEMENT

    analyze-all-runs                 [Test Result]
    auto-sort-result-file            [Test Result]
    compare-results-to-baseline      [Test Result] [Test Result]
    compare-results-two-way          [Test Result]
    edit-result-file                 [Test Result]
    extract-from-result-file         [Test Result]
    merge-results                    [Test Result]  ...
    refresh-graphs                   [Test Result]
    remove-result                    [Test Result]
    remove-results-from-result-file  [Test Result]
    remove-run-from-result-file      [Test Result]
    rename-identifier-in-result-file [Test Result]
    rename-result-file               [Test Result]
    reorder-result-file              [Test Result]
    result-file-confidence           [Test Result]a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image.
    result-file-raw-to-csv           [Test Result]
    result-file-stats                [Test Result]
    result-file-to-csv               [Test Result]
    result-file-to-json              [Test Result]
    result-file-to-pdf               [Test Result]
    result-file-to-text              [Test Result]
    show-result                      [Test Result]
    wins-and-losses                  [Test Result]

OTHER

    commands
    debug-dependency-handler  
    debug-render-test
    debug-self-test
    help
    version

MODULES

    auto-load-module
    list-modules
    module-info      [Phoronix Test Suite Module]
    module-setup     [Phoronix Test Suite Module]
    test-module      [Phoronix Test Suite Module]
    unload-module

USER CONFIGURATION

    enterprise-setup
    network-info
    network-setup
    user-config-reset
    user-config-set

PHOROMATIC

    start-phoromatic-server   

RESULT VIEWER

    start-result-viewer


root@phyboard-polis-imx8mm:/# 

See available tests:

root@phyboard-polis-imx8mm:/# phoronix-test-suite list-tests


Phoronix Test Suite v9.2.1
Available Tests

pts/aio-stress                 - AIO-Stress                              Disk
pts/aircrack-ng                - Aircrack-ng                             Processor
pts/aobench                    - AOBench                                 Processor
pts/aom-av1                    - AOM AV1                                 Processor
pts/apache                     - Apache Benchmark                        System
pts/apache-siege               - Apache Siege                            System
pts/appleseed                  - Appleseed                               System
pts/askap                      - ASKAP                                   System
pts/asmfish                    - asmFish                                 Processor
pts/battery-power-usage        - Battery Power Usage                     System
pts/blake2                     - BLAKE2                                  Processor
pts/blender                    - Blender                                 System
pts/blogbench                  - BlogBench                               Disk
pts/bork                       - Bork File Encrypter                     Processor
pts/botan                      - Botan                                   Processor
pts/brl-cad                    - BRL-CAD                                 System
pts/build-apache               - Timed Apache Compilation                Processor
pts/build-eigen                - Timed Eigen Compilation                 Processor
pts/build-firefox              - Timed Firefox Compilation               Processor
pts/build-gcc                  - Timed GCC Compilation                   Processor
pts/build-imagemagick          - Timed ImageMagick Compilation           Processor
pts/build-linux-kernel         - Timed Linux Kernel Compilation          Processor
pts/build-llvm                 - Timed LLVM Compilation                  Processor
pts/build-mplayer              - Timed MPlayer Compilation               Processor
pts/build-php                  - Timed PHP Compilation                   Processor
pts/build-webkitfltk           - Timed WebKitFLTK Compilation            Processor
pts/build2                     - Build2                                  Processor
pts/bullet                     - Bullet Physics Engine                   Processor
pts/byte                       - BYTE Unix Benchmark                     Processor
pts/c-ray                      - C-Ray                                   Processor
pts/cachebench                 - CacheBench                              Processor
pts/caffe                      - Caffe                                   System
pts/cassandra                  - Apache Cassandra                        System
pts/clomp                      - CLOMP                                   Processor
pts/cloudsuite-da              - CloudSuite Data Analytics               System
pts/cloudsuite-ga              - CloudSuite Graph Analytics              System
pts/cloudsuite-ma              - CloudSuite In-Memory Analytics          System
pts/cloudsuite-ms              - CloudSuite Media Streaming              System
pts/cloudsuite-ws              - CloudSuite Web Serving                  System
pts/cloverleaf                 - CloverLeaf                              Processor
pts/clpeak                     - clpeak                                  System
pts/comd-cl                    - CoMD OpenCL                             System
pts/compilebench               - Compile Bench                           Disk
pts/compress-7zip              - 7-Zip Compression                       Processor
pts/compress-gzip              - Gzip Compression                        Processor
pts/compress-pbzip2            - Parallel BZIP2 Compression              Processor
pts/compress-rar               - RAR Compression                         System
pts/compress-xz                - XZ Compression                          Processor
pts/compress-zstd              - Zstd Compression                        Processor
pts/core-latency               - Core-Latency                            Processor
pts/coremark                   - Coremark                                Processor
pts/cp2k                       - CP2K Molecular Dynamics                 Processor
pts/cpp-perf-bench             - CppPerformanceBenchmarks                System
pts/cpuminer-opt               - Cpuminer-Opt                            Processor
pts/crafty                     - Crafty                                  Processor
pts/ctx-clock                  - ctx_clock                               System
pts/cyclictest                 - Cyclictest                              System
pts/cython-bench               - Cython benchmark                        Processor
pts/dacapobench                - DaCapo Benchmark                        Processor
pts/dav1d                      - dav1d                                   Processor
pts/dbench                     - Dbench                                  Disk
pts/dcraw                      - dcraw                                   Processor
pts/deepspeech                 - DeepSpeech                              Processor
pts/dolfyn                     - Dolfyn                                  Processor
pts/ebizzy                     - ebizzy                                  Processor
pts/embree                     - Embree                                  Processor
pts/encode-flac                - FLAC Audio Encoding
pts/encode-mp3                 - LAME MP3 Encoding                       Processor
pts/encode-wavpack             - WavPack Audio Encoding
pts/espeak                     - eSpeak Speech Engine                    Processor
pts/ethr                       - Ethr                                    Network
pts/etqw-demo-iqc              - ET: Quake Wars Image Quality            System
pts/fahbench                   - FAHBench                                System
pts/ffmpeg                     - FFmpeg                                  Processor
pts/ffte                       - FFTE                                    Processor
pts/fftw                       - FFTW                                    Processor
pts/fhourstones                - Fhourstones                             Processor
pts/fio                        - Flexible IO Tester                      Disk
pts/fs-mark                    - FS-Mark                                 Disk
pts/geekbench                  - Geekbench                               System
pts/git                        - Git                                     System
pts/glibc-bench                - glibc bench                             Processor
pts/gmpbench                   - GNU GMP GMPbench                        Processor
pts/gnupg                      - GnuPG                                   Processor
pts/go-benchmark               - Go Benchmarks                           Processor
pts/gpu-residency              - GPU Residency                           Processor
pts/graphics-magick            - GraphicsMagick                          Processor
pts/gromacs                    - GROMACS                                 System
pts/hackbench                  - Hackbench                               Processor
pts/hdparm-read                - hdparm Timed Disk Reads                 Disk
pts/himeno                     - Himeno Benchmark                        Processor
pts/hint                       - Hierarchical INTegration                System
pts/hmmer                      - Timed HMMer Search                      Processor
pts/hpcc                       - HPC Challenge                           Processor
pts/hpcg                       - High Performance Conjugate Gradient     Processor
pts/idle                       - Timed Idle                              System
pts/idle-power-usage           - Idle Power Usage                        System
pts/indigobench                - IndigoBench                             System
pts/interbench                 - Interbench                              System
pts/ior                        - IOR                                     Disk
pts/iozone                     - IOzone                                  Disk
pts/iperf                      - iPerf                                   Network
pts/java-gradle-perf           - Java Gradle Build                       Processor
pts/java-jmh                   - Java JMH                                System
pts/java-scimark2              - Java SciMark                            Processor
pts/jgfxbat                    - Java Graphics Basic Acceptance Test     Processor
pts/john-the-ripper            - John The Ripper                         Processor
pts/juliagpu                   - JuliaGPU                                System
pts/keydb                      - KeyDB                                   System
pts/lammps                     - LAMMPS Molecular Dynamics Simulator     Processor
pts/lczero                     - LeelaChessZero                          Processor
pts/libgav1                    - libgav1                                 Processor
pts/llvm-test-suite            - LLVM Test Suite                         Processor
pts/luajit                     - LuaJIT                                  Processor
pts/lulesh-cl                  - Lulesh OpenCL                           System
pts/luxcorerender              - LuxCoreRender                           Processor
pts/luxmark                    - LuxMark                                 System
pts/lzbench                    - lzbench                                 Processor
pts/m-queens                   - m-queens                                Processor
pts/mafft                      - Timed MAFFT Alignment                   Processor
pts/mandelbulbgpu              - MandelbulbGPU                           System
pts/mandelgpu                  - MandelGPU                               System
pts/mbw                        - MBW                                     Memory
pts/mcperf                     - Memcached mcperf                        System
pts/memtier-benchmark          - Memtier_benchmark                       System
pts/mencoder                   - Mencoder                                Processor
pts/minife                     - miniFE                                  Processor
pts/minion                     - Minion                                  Processor
pts/mkl-dnn                    - MKL-DNN DNNL                            Processor
pts/mpcbench                   - GNU MPC                                 Processor
pts/mrbayes                    - Timed MrBayes Analysis                  Processor
pts/mt-dgemm                   - ACES DGEMM                              Processor
pts/multichase                 - Multichase Pointer Chaser               Processor
pts/mysqlslap                  - MariaDB                                 System
pts/n-queens                   - N-Queens                                Processor
pts/namd                       - NAMD                                    Processor
pts/namd-cuda                  - NAMD CUDA                               Processor
pts/neatbench                  - NeatBench                               System
pts/nero2d                     - Open FMM Nero2D                         Processor
pts/netperf                    - Netperf                                 Network
pts/network-loopback           - Loopback TCP Network Performance        Network
pts/nginx                      - NGINX Benchmark                         System
pts/node-express-loadtest      - Node.js Express HTTP Load Test          Processor
pts/node-octane                - Node.js Octane Benchmark                Processor
pts/noise-level                - NoiseLevel                              Processor
pts/novabench                  - Novabench                               System
pts/npb                        - NAS Parallel Benchmarks                 Processor
pts/numenta-nab                - Numenta Anomaly Benchmark               System
pts/numpy                      - Numpy Benchmark                         Processor
pts/nuttcp                     - Nuttcp                                  Network
pts/oidn                       - Intel Open Image Denoise                Processor
pts/open-porous-media          - Open Porous Media                       Processor
pts/opencv-bench               - OpenCV Benchmark                        Processor
pts/opendwarfs                 - OpenDwarfs                              System
pts/openssl                    - OpenSSL                                 Processor
pts/opm-git                    - Open Porous Media Git                   Processor
pts/optcarrot                  - Optcarrot                               System
pts/osbench                    - OSBench                                 System
pts/ospray                     - OSPray                                  Processor
pts/parboil                    - Parboil                                 Processor
pts/pennant                    - Pennant                                 Processor
pts/perl-benchmark             - Perl Benchmarks                         Processor
pts/pgbench                    - PostgreSQL pgbench                      System
pts/php                        - PHP Micro Benchmarks                    System
pts/phpbench                   - PHPBench                                System
pts/pjdfstest                  - Pjdfstest                               Disk
pts/plaidml                    - PlaidML                                 System
pts/polybench-c                - PolyBench-C                             Processor
pts/postmark                   - PostMark                                Disk
pts/povray                     - POV-Ray                                 Processor
pts/powertop-wakeups           - Powertop Wakeups                        Processor
pts/primesieve                 - Primesieve                              Processor
pts/psstop                     - PSSTOP Memory test                      Processor
pts/pts-self-test              - Phoronix Test Suite Self Test           System
pts/pybench                    - PyBench                                 System
pts/pymongo-inserts            - PyMongo Inserts                         System
pts/pyopencl                   - PyOpenCL                                System
pts/qmcpack                    - QMCPACK                                 Processor
pts/qmlbench                   - Qmlbench                                System
pts/radiance                   - Radiance Benchmark                      Processor
pts/ramspeed                   - RAMspeed SMP                            Memory
pts/rav1e                      - rav1e                                   Processor
pts/rbenchmark                 - R Benchmark                             Processor
pts/redis                      - Redis                                   System
pts/renaissance                - Renaissance                             Processor
pts/rocksdb                    - Facebook RocksDB                        System
pts/rodinia                    - Rodinia                                 Processor
pts/rust-mandel                - Rust Mandelbrot                         Processor
pts/rust-prime                 - Rust Prime Benchmark                    Processor
pts/schbench                   - Schbench                                System
pts/scikit-learn               - Scikit-Learn                            System
pts/scimark2                   - SciMark                                 Processor
pts/serial-loopback            - Serial Loopback Test                    System
pts/smallpt                    - Smallpt                                 Processor
pts/smallpt-gpu                - SmallPT GPU                             System
pts/smart                      - SMART Disk Self-Report                  Disk
pts/sockperf                   - Sockperf                                Network
pts/spec-cpu2017               - SPEC CPU 2017                           System
pts/spec-jbb2015               - SPECjbb 2015                            System
pts/sqlite                     - SQLite                                  Disk
pts/sqlite-speedtest           - SQLite Speedtest                        System
pts/startup-time               - Application Start-up Time               Disk
pts/stockfish                  - Stockfish                               Processor
pts/stream                     - Stream                                  Memory
pts/stress-ng                  - Stress-NG                               System
pts/stressapptest              - Stressful Application Test              Memory
pts/stresscpu2                 - StressCPU2 Stress-Test                  Processor
pts/sudokut                    - Sudokut                                 Processor
pts/sunflow                    - Sunflow Rendering System                System
pts/svt-av1                    - SVT-AV1                                 Processor
pts/svt-hevc                   - SVT-HEVC                                Processor
pts/svt-vp9                    - SVT-VP9                                 Processor
pts/swet                       - Swet                                    Processor
pts/sysbench                   - Sysbench                                System
pts/system-decompress-bzip2    - System BZIP2 Decompression              Processor
pts/system-decompress-gzip     - System GZIP Decompression               Processor
pts/system-decompress-tiff     - System Libtiff Decompression            Processor
pts/system-decompress-xz       - System XZ Decompression                 Processor
pts/system-decompress-zlib     - System ZLIB Decompression               Processor
pts/system-libjpeg             - System JPEG Library Decode              Processor
pts/system-libxml2             - System Libxml2 Parsing                  Processor
pts/systemd-boot-kernel        - Systemd Kernel Boot Time                Processor
pts/systemd-boot-total         - Systemd Total Boot Time                 System
pts/systemd-boot-userspace     - Systemd Userspace Boot Time             Processor
pts/systester                  - SysTester                               Processor
pts/t-test1                    - t-test1                                 Memory
pts/tachyon                    - Tachyon                                 Processor
pts/tensorflow                 - Tensorflow                              System
pts/tinymembench               - Tinymembench                            Memory
pts/tiobench                   - Threaded I/O Tester                     Disk
pts/tjbench                    - libjpeg-turbo tjbench                   System
pts/tscp                       - TSCP                                    Processor
pts/ttsiod-renderer            - TTSIOD 3D Renderer                      Processor
pts/tungsten                   - Tungsten Renderer                       Processor
pts/unpack-linux               - Unpacking The Linux Kernel              Disk
pts/v-ray                      - Chaos Group V-RAY                       System
pts/vpxenc                     - VP9 libvpx Encoding                     Processor
pts/x264                       - x264                                    Processor
pts/x264-opencl                - x264 OpenCL                             Processor
pts/x265                       - x265                                    Processor
pts/xsbench                    - Xsbench                                 System
pts/xsbench-cl                 - Xsbench OpenCL                          System
pts/y-cruncher                 - Y-Cruncher                              Processor
system/apache                  - Apache Benchmark
system/blender                 - Blender                                 System
system/blogbench               - BlogBench                               Disk
system/caffe                   - Caffe
system/clpeak                  - clpeak                                  System
system/compress-lzma           - LZMA Compression
system/compress-pbzip2         - PBZIP2 Compression
system/compress-zstd           - Zstd Compression                        Processor
system/cryptsetup              - Cryptsetup                              System
system/darktable               - Darktable                               System
system/dbench                  - Dbench                                  Disk
system/ethminer                - Ethereum Ethminer                       System
system/fio                     - Flexible IO Tester                      Disk
system/gimp                    - GIMP                                    System
system/gnupg                   - GnuPG                                   Processor
system/iozone                  - IOzone                                  Disk
system/libreoffice             - LibreOffice                             System
system/octave-benchmark        - GNU Octave Benchmark                    System
system/openssl                 - OpenSSL
system/redis                   - Redis
system/selenium                - Selenium                                System
system/selenium-top-sites      - Time To Load + View Popular Websites    System
system/sqlite                  - SQLite
system/tesseract-ocr           - Tesseract OCR                           System
git/aom-av1                    - AOM AV1                                 Processor
git/svt-av1                    - SVT-AV1                                 Processor
git/svt-hevc                   - SVT-HEVC                                Processor
git/svt-vp9                    - SVT-VP9                                 Processor
git/vpxenc                     - VP9 libvpx Encoding                     Processor
git/x265                       - x265                                    Processor

root@phyboard-polis-imx8mm:/# 

Run some test:

root@phyboard-polis-imx8mm:/# phoronix-test-suite benchmark cachebench


Phoronix Test Suite v9.2.1

    To Install:    pts/cachebench-1.1.2

    Determining File Requirements .......................................................................................................................................
    Searching Download Caches ...........................................................................................................................................

    1 Test To Install
        1 File To Download [0.08MB]
        1MB Of Disk Space Is Needed

    pts/cachebench-1.1.2:
        Test Installation 1 of 1
        1 File Needed [0.08 MB]
        Downloading: llcbench-20170104.tar.gz                                                                                                                    [0.08MB]
        Downloading .....................................................................................................................................................
        Installation Size: 0.5 MB
        Installing Test @ 13:11:03



CacheBench:
    pts/cachebench-1.1.2
    Processor Test Configuration
        1: Read
        2: Write
        3: Read / Modify / Write
        4: Test All Options
        ** Multiple items can be selected, delimit by a comma. **
        Test: 4


System Information


    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:360

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:400

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:403

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:417

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:427

  PROCESSOR:          ARMv8 Cortex-A53
    Core Count:       4

  GRAPHICS:

  MOTHERBOARD:        PHYTEC phyCORE-i.MX8MM

  MEMORY:             1536MB

  DISK:               457GB
    File-System:      nfs

  OPERATING SYSTEM:   resy 3.1.2
    Kernel:           5.8.5-custom-ml-std (aarch64)
    Compiler:         GCC 9.3.0
    Security:         itlb_multihit: Not affected
                      + l1tf: Not affected
                      + mds: Not affected
                      + meltdown: Not affected
                      + spec_store_bypass: Not affected
                      + spectre_v1: Mitigation of __user pointer sanitization
                      + spectre_v2: Not affected
                      + srbds: Not affected
                      + tsx_async_abort: Not affected

    Would you like to save these test results (Y/n): Y
    Enter a name for the result file: cachebench

The name of the saved file cannot be the same as a test/suite: cachebench
    Enter a name for the result file: 2020-08-30-cachebench
    Enter a unique name to describe this test run / configuration: 2020-08-30-cachebens-polis

If desired, enter a new description below to better describe this result set / system configuration under test.
Press ENTER to proceed without changes.

Current Description: ARMv8 Cortex-A53 testing on resy 3.1.2 via the Phoronix Test Suite.

New Description: 

CacheBench:
    pts/cachebench-1.1.2 [Test: Read]
    Test 1 of 3
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      5 Minutes
    Estimated Time To Completion: 15 Minutes [13:27 UTC]
        Started Run 1 @ 13:13:05
        Started Run 2 @ 13:15:14
        Started Run 3 @ 13:17:23


    Test: Read:
        2241.1436750952
        2244.2161832857
        2243.5523763333

    Average: 2242.97 MB/s
    Minimum: 2163.02
    Maximum: 2279.99
    Deviation: 0.07%

    Result compared to 1,766 OpenBenchmarking.org samples since 26 February 2011; median result: 2612. Box plot of samples:
    [                |----------------------#*#*######!##########----*--*-*-----------------------------*------------------*--------------*----*--|                         ]
                                               ^ This Result (32nd Percentile): 2243
             2 x Intel Xeon E5-2620 v4: 2138 ^  Intel Core i5-4210U: 3630 ^   Intel Core i7-5775C: 5191 ^            Intel Core i7-3770K: 7205 ^
                                              Intel Core i9-7900X: 3549 ^                                       Intel Core i5-4670K: 6945 ^
                                  2 x Intel Xeon Platinum 8280: 3378 ^                              Intel Atom C2750: 6149 ^

CacheBench:
    pts/cachebench-1.1.2 [Test: Write]
    Test 2 of 3
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      5 Minutes
    Estimated Time To Completion: 10 Minutes [13:29 UTC]
        Started Run 1 @ 13:19:40
        Started Run 2 @ 13:21:49
        Started Run 3 @ 13:23:58


    Test: Write:
        4474.3156437619
        4474.4404203333
        4474.7029128095

    Average: 4474.49 MB/s
    Minimum: 4257.8
    Maximum: 4560.96
    Deviation: 0.00%

    Result compared to 1,536 OpenBenchmarking.org samples since 26 February 2011; median result: 18883. Box plot of samples:
    [        |-------*-------------------##############*####################!*#*##*###################-------*--------------*--*---------|*                                 ]
                     ^ This Result (9th Percentile): 4474
                              Ampere eMAG ARMv8: 13292 ^ 2 x AMD EPYC 7551: 20487 ^ AMD Ryzen 7 2700X: 27720 ^ Intel Core i9-9900K: 35331 ^
                                           AMD Ryzen Threadripper 1920X: 19855 ^                   Intel Core i9-7980XE: 32410 ^
                                                   Intel Core i5-6400: 19174 ^                     AMD Ryzen 9 3950X: 31597 ^

CacheBench:
    pts/cachebench-1.1.2 [Test: Read / Modify / Write]
    Test 3 of 3
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 5 Minutes [13:30 UTC]
        Started Run 1 @ 13:26:15
        Started Run 2 @ 13:28:24
        Started Run 3 @ 13:30:34

    Test: Read / Modify / Write:
        2266.2551753333
        2264.3469999048
        2264.3859254762

    Average: 2265.00 MB/s
    Minimum: 2222.69
    Maximum: 2281.96
    Deviation: 0.05%

    Result compared to 2,656 OpenBenchmarking.org samples since 26 February 2011; median result: 27306. Box plot of samples:
    [     *------------------------------------*----#######################*#*!#*##########################------------*---------------------------------*---*-*-|          ]
          ^ This Result (2nd Percentile): 2265
                   2 x Intel Xeon L5420: 15999 ^    Intel Core i7-6700HQ: 28245 ^  2 x Intel Xeon Platinum 8168: 42572 ^   AMD Ryzen Threadripper 2920X: 57145 ^
                                           2 x Intel Xeon Silver 4210: 26889 ^                                           AMD Ryzen Threadripper 2950X: 56616 ^
                                                Intel Core i7-2600K: 26202 ^                                                    AMD Ryzen 9 3950X: 55185 ^

    Do you want to view the text results of the testing (Y/n): 2020-08-30-cachebench
ARMv8 Cortex-A53 testing on resy 3.1.2 via the Phoronix Test Suite.


2020-08-30-cachebens-polis:   

        Processor: ARMv8 Cortex-A53 (4 Cores), Motherboard: PHYTEC phyCORE-i.MX8MM, Memory: 1536MB, Disk: 457GB

        OS: resy 3.1.2, Kernel: 5.8.5-custom-ml-std (aarch64), Compiler: GCC 9.3.0, File-System: nfs


    CacheBench
    Test: Read
    MB/s > Higher Is Better   
    2020-08-30-cachebens-polis . 2242.97 |===================================================================================================================================


    CacheBench
    Test: Write
    MB/s > Higher Is Better   
    2020-08-30-cachebens-polis . 4474.49 |===================================================================================================================================


    CacheBench
    Test: Read / Modify / Write
    MB/s > Higher Is Better   
    2020-08-30-cachebens-polis . 2265.00 |===================================================================================================================================

    Would you like to upload the results to OpenBenchmarking.org (y/n): y
    Would you like to attach the system logs (lspci, dmesg, lsusb, etc) to the test result (y/n): y

    Results Uploaded To: https://openbenchmarking.org/result/2008303-HU-20200830C50

root@phyboard-polis-imx8mm:/# 

And here you can see the results online.

Another test

root@phyboard-polis-imx8mm:/# phoronix-test-suite benchmark aircrack-ng


Phoronix Test Suite v9.2.1

    To Install:    pts/aircrack-ng-1.2.1

    Determining File Requirements .......................................................................................................................................
    Searching Download Caches ...........................................................................................................................................

    1 Test To Install
        1 File To Download [6.81MB]
        25MB Of Disk Space Is Needed

    pts/aircrack-ng-1.2.1:
        Test Installation 1 of 1
        1 File Needed [6.81 MB]
        Downloading: aircrack-ng-1.5.2.tar.gz                                                                                                                    [6.81MB]
        Downloading .....................................................................................................................................................
        Installation Size: 25 MB
        Installing Test @ 14:01:36


System Information


    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:360

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:400

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:403

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:417

    [NOTICE] Trying to access array offset on value of type bool in phodevi_disk:427

  PROCESSOR:          ARMv8 Cortex-A53
    Core Count:       4

  GRAPHICS:

  MOTHERBOARD:        PHYTEC phyCORE-i.MX8MM

  MEMORY:             1536MB

  DISK:               457GB
    File-System:      nfs

  OPERATING SYSTEM:   resy 3.1.2
    Kernel:           5.8.5-custom-ml-std (aarch64)
    Compiler:         GCC 9.3.0
    Security:         itlb_multihit: Not affected
                      + l1tf: Not affected
                      + mds: Not affected
                      + meltdown: Not affected
                      + spec_store_bypass: Not affected
                      + spectre_v1: Mitigation of __user pointer sanitization
                      + spectre_v2: Not affected
                      + srbds: Not affected
                      + tsx_async_abort: Not affected

    Would you like to save these test results (Y/n): Y

    Recently Saved Test Results:
       2020-08-30-cachebench   [-905 days old]

    Enter a name for the result file: 2020-08-30-aircrack-ng
    Enter a unique name to describe this test run / configuration:

If desired, enter a new description below to better describe this result set / system configuration under test.
Press ENTER to proceed without changes.

Current Description: ARMv8 Cortex-A53 testing on resy 3.1.2 via the Phoronix Test Suite.

New Description: 

Aircrack-ng 1.5.2:
    pts/aircrack-ng-1.2.1
    Test 1 of 1
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 1 Minute [14:06 UTC]
        Started Run 1 @ 14:06:10
        Started Run 2 @ 14:06:44
        Started Run 3 @ 14:07:18

    Test Results:
        759.625
        768.692
        759.682

    Average: 762.666 k/s
    Deviation: 0.68%

    Result compared to 324 OpenBenchmarking.org samples since 26 February 2011; median result: 45568. Box plot of samples:
    [--*---#*#*##############!#############################------------*-------------------*-----*-*----------------------------------*-------------------------------------]
              ^ Intel Core i7-9750H: 18968   2 x AMD EPYC 7352: 121737 ^ 2 x AMD EPYC 7502: 171826 ^        2 x AMD EPYC 7642: 235977 ^
            ^ Ampere eMAG ARMv8: 15350                                 2 x AMD EPYC 7532: 167700 ^
       ^ Intel Core i7-4558U: 5684                               2 x AMD EPYC 7452: 158005 ^

    Do you want to view the text results of the testing (Y/n): Y
2020-08-30-aircrack-ng
ARMv8 Cortex-A53 testing on resy 3.1.2 via the Phoronix Test Suite.


ARMv8 Cortex-A53:

        Processor: ARMv8 Cortex-A53 (4 Cores), Motherboard: PHYTEC phyCORE-i.MX8MM, Memory: 1536MB, Disk: 457GB

        OS: resy 3.1.2, Kernel: 5.8.5-custom-ml-std (aarch64), Compiler: GCC 9.3.0, File-System: nfs


    Aircrack-ng 1.5.2

    k/s > Higher Is Better
    ARMv8 Cortex-A53 . 762.67 |==============================================================================================================================================

    Would you like to upload the results to OpenBenchmarking.org (y/n): Y
    Would you like to attach the system logs (lspci, dmesg, lsusb, etc) to the test result (y/n): y

    Results Uploaded To: https://openbenchmarking.org/result/2008300-HU-20200830A01

root@phyboard-polis-imx8mm:/# 

And here you can see the results online.

GCC 5 Through GCC 10 Compiler Benchmarks - Five Years Worth Of C/C++ Compiler Performance is some interesting article to look into.

GCC 10 Compiler Optimization Benchmarks might be something interesting to compare against. 

pts/c-ray is a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image. 

It takes ages to run, but here are some results for my imx8mm image and the comparison to the Raspberry-Pi 4.

pts/scimark2 runs the ANSI C version of SciMark 2.0, which is a benchmark for scientific and numerical computing developed by programmers at the National Institute of Standards and Technology. This test is made up of Fast Foruier Transform, Jacobi Successive Over-relaxation, Monte Carlo, Sparse Matrix Multiply, and dense LU matrix factorization benchmarks. Results for my imx8mm image. Comparison with raspberry pi 4,8 Gig Ram.

pts/compress-7zip tests 7-Zip using p7zip with its integrated benchmark feature. Results from my imx8mm image. Here you can see imx8mm vs. Raspberrypi 4 8 Gig Ram.

Maybe we try some more?

 

Comments

  1. Hello,
    Could you please elaborate the procedure, how did u integrated this test suite in to your yocto layer.

    ReplyDelete
    Replies
    1. Hi,
      You can find it in meta-oe[1] e.g. here [2]

      [1] https://cgit.openembedded.org/meta-openembedded/tree/meta-oe

      [2] https://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-benchmark/phoronix-test-suite

      Regards,

      Robert

      --
      Robert Berger
      Embedded Software Evangelist

      Reliable Embedded Systems
      Consulting Training Engineering
      URL: https://www.reliableembeddedsystems.com

      Schedule a web meeting:
      https://calendly.com/reliableembeddedsystems/
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      --

      Delete

Post a Comment

Popular posts from this blog

Yocto: BitBake and Dependencies - e.g. One recipe to use output of another recipe

Yocto: kernel modules not showing up in the rootfs

Compiler tunes benchmarks with the Yocto Project