Skip to content

Commit

Permalink
Pull request #1717: Perf update
Browse files Browse the repository at this point in the history
Merge in PROCESSOR-SDK/processor-sdk-doc from ~A0498204/processor-sdk-doc:perf-update to master

* commit 'caa92124070f535cebdce8d602b7d67e7572055d':
  AM65x: Incremental update for performance guide
  AM62x: Incremental update for performance guide
  AM64x: Incremental update for performance guide
  AM62px: Incremental update for performance guide
  AM62ax: Incremental update for performance guide
  • Loading branch information
jmenti authored and cshilwant committed Mar 29, 2024
2 parents 0759e68 + caa9212 commit ace8ef1
Show file tree
Hide file tree
Showing 6 changed files with 382 additions and 116 deletions.
76 changes: 57 additions & 19 deletions source/devices/AM62AX/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Execute the LMBench with the following:
cd /opt/ltp
./runltp -P j721e-idk-gw -f ddt/lmbench -s LMBENCH_L_PERF_0001

.. csv-table:: LMBench Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"af_unix_sock_stream_latency (microsec)","24.82"
Expand Down Expand Up @@ -191,7 +191,7 @@ Execute the benchmark with the following:

runDhrystone

.. csv-table:: Dhrystone Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"cpu_clock (MHz)","1250.00"
Expand All @@ -208,7 +208,7 @@ Execute the benchmark with the following:

runWhetstone

.. csv-table:: Whetstone Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"whetstone (MIPS)","5000.00"
Expand All @@ -218,7 +218,7 @@ Linpack
Linpack measures peak double precision (64 bit) floating point performance in
solving a dense linear system.

.. csv-table:: Linpack Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"linpack (Kflops)","517380.00"
Expand All @@ -241,7 +241,7 @@ Execute the benchmark with the following:

stream_c

.. csv-table:: Stream Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"add (MB/s)","2488.60"
Expand All @@ -257,7 +257,7 @@ While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processo
adding comprehensive support for multicore technology, a combination of integer
and floating-point workloads, and data sets for utilizing larger memory subsystems.

.. csv-table:: CoreMarkPro Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"cjpeg-rose7-preset (workloads/)","36.63"
Expand Down Expand Up @@ -288,7 +288,7 @@ establish a common programming model that communicates with the benchmark throug
abstraction layer and provides a flexible interface to allow a wide variety of
thread-enabled workloads to be tested.

.. csv-table:: Multibench Benchmarks
.. csv-table::
:header: "Benchmarks","am62axx_sk-fs: perf"

"4m-check (workloads/)","362.06"
Expand Down Expand Up @@ -328,7 +328,7 @@ Boot-time Measurement
Boot media: MMCSD
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: Boot time MMCSD
.. csv-table::
:header: "Boot Configuration","am62axx_sk-fs: boot time (sec)"

"Kernel boot time test when init is /bin/sh and bootloader, kernel and sdk-rootfs are in mmc-sd","3.93 (min 3.91, max 3.96)"
Expand Down Expand Up @@ -405,13 +405,12 @@ Running the following commands will trigger netperf clients to measure UDP burst
CPSW/CPSW2g/CPSW3g Ethernet Driver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- CPSW3g: AM64x, AM62x, AM62ax, AM62px

- CPSW3g: AM62ax

.. rubric:: TCP Bidirectional Throughput
:name: CPSW2g-tcp-bidirectional-throughput

.. csv-table:: CPSW2g TCP Bidirectional Throughput
.. csv-table::
:header: "Command Used","am62axx_sk-fs: THROUGHPUT (Mbits/sec)","am62axx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)"

"netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1861.15","83.19"
Expand All @@ -432,7 +431,7 @@ EMMC Driver
AM62AXX-SK
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: EMMC EXT4 FIO 1G
.. csv-table::
:header: "Buffer size (bytes)","am62axx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Write EXT4 CPU Load (%)","am62axx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Read EXT4 CPU Load (%)"

"1m","57.70","26.54","175.00","28.29"
Expand All @@ -456,7 +455,7 @@ MMC/SD Driver
AM62AXX-SK
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: MMC EXT4 FIO 1G
.. csv-table::
:header: "Buffer size (bytes)","am62axx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Write EXT4 CPU Load (%)","am62axx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Read EXT4 CPU Load (%)"

"1m","28.00","26.14","87.00","27.10"
Expand All @@ -477,7 +476,9 @@ UBoot MMC/SD Driver
AM62AXX-SK
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: UBOOT MMCSD FAT
Table: **UBOOT MMCSD FAT**

.. csv-table::
:header: "File size (bytes in hex)","am62axx_sk-fs: Write Throughput (Kbytes/sec)","am62axx_sk-fs: Read Throughput (Kbytes/sec)"

"400000","18703.20","20177.34"
Expand All @@ -492,7 +493,9 @@ CRYPTO Driver
OpenSSL Performance
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: OpenSSL Performance
Table: **OpenSSL Performance**

.. csv-table::
:header: "Algorithm","Buffer Size (in bytes)","am62axx_sk-fs: throughput (KBytes/Sec)"

"aes-128-cbc","1024","24477.35"
Expand Down Expand Up @@ -544,7 +547,9 @@ OpenSSL Performance
"sha512","64","2167.55"
"sha512","8192","55050.24"

.. csv-table:: OpenSSL CPU Load
Table: **OpenSSL CPU Load**

.. csv-table::
:header: "Algorithm","am62axx_sk-fs: CPU Load"

"aes-128-cbc","33.00"
Expand All @@ -556,8 +561,7 @@ OpenSSL Performance
"sha256","97.00"
"sha512","97.00"

Listed for each algorithm are the code snippets used to run each
benchmark test.
Listed for each algorithm are the code snippets used to run each benchmark test.

::

Expand All @@ -566,7 +570,41 @@ Listed for each algorithm are the code snippets used to run each
IPSec Software Performance
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: IPSec Software Performance
.. csv-table::
:header: "Algorithm","am62axx_sk-fs: Throughput (Mbps)","am62axx_sk-fs: Packets/Sec","am62axx_sk-fs: CPU Load"

"aes128","345.80","30.00","74.23"

Low Power Performance
-------------------------

Table: **Deep sleep**

.. csv-table::
:header: "Rail name","Rail voltage(V)","am62axx_sk-fs"

"vdd_core","0.85","14.66"
"vddr_core","0.85","1.80"
"soc_dvdd_3v3","3.30","4.04"
"soc_dvdd_1v8","1.80","1.91"
"vdda_1v8","1.80","10.71"
"vdd_lpddr4/vdd_ddr4","1.10","3.68"
"Total"," ","36.79"

Table: **MCU only**

.. csv-table::
:header: "Rail name","Rail voltage(V)","am62axx_sk-fs"

"vdd_core","0.85","198.21"
"vddr_core","0.85","3.08"
"soc_dvdd_3v3","3.30","9.55"
"soc_dvdd_1v8","1.80","1.80"
"vdda_1v8","1.80","19.12"
"vdd_lpddr4/vdd_ddr4","1.10","3.37"
"Total"," ","235.12"

Partial I/O Data
- All voltage rails were measured to be near 0V

Further optimizations are possible for these low power modes. Please refer to the AM62x Power Consumption App Note (https://www.ti.com/lit/pdf/spradg1)
6 changes: 3 additions & 3 deletions source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ Test command for running stress-ng and cyclictest together
.. csv-table::
:header: "Latencies","am62axx_sk-fs:per-core"

"Minimum (usec)","4,4,4,4"
"Average (usec)","5,5,5,5"
"Maximum (usec)","35,30,31,31"
"Minimum (usec)","5,5"
"Average (usec)","7,8"
"Maximum (usec)","60,50"
Loading

0 comments on commit ace8ef1

Please sign in to comment.