NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

NDK benchmarks

From Texas Instruments Wiki
Jump to: navigation, search

NDK benchmarks are available for several C6000 TI DSPs with an Ethernet MAC.

Application note:[edit]

The application note which describes the benchmarking technique is available here

At present this app note gives precise NDK benchmark use-case data for:

  • DM642 (DM642EVM)
  • C6455 (C6455DSK)
  • DM6437 (DM6437EVM)

Note however that graphs are available to extrapolate conclusions on any TI DSP supporting the NDK, based on frame sizes, CPU speeds, cache configurations and EMAC speeds.

Source code for the benchmark applications is available at the link above. Documentation on the supporting tools used to automate the benchmarks is also presented.

Application note for NDK 1.92 users only:[edit]

If you are using NDK 1.92, the original app note SPRAAQ5 was entirely developed for this release and contains the measured size and throughput benchmark results for the supported platforms DM642, C6455 and DM6437. The file can be downloaded here.

Note about benchmark numbers available:[edit]

A common question that arrives at the support lines refers to reduced throughput performance when using NDK in a networked system. Despite no software is completely free of bugs and some of them only appear in certain special or corner cases, the majority of issues refer to sub-optimal measurement procedures that suffer influence of other running processes, NDK configuration and network environment.

The provided benchmark numbers are just for reference and follow a strict network configuration. Therefore any numbers provided reflect ideal conditions that do not take into consideration external network traffic or additional running processes on both nodes. The common configuration is a crossover cable connected between two boards or between a board and a host machine running an Operating System without any applications running or additional processes running on the target processor (DSP).

The reason is that it is virtually impossible to reflect the great number of network configurations and combination of applications running on the target processor (DSP).

Benchmarking using iperf on a PC host:[edit]

If you want to benchmark a board together with a PC host you can also use an open source tool called iperf. Sources and binaries are available for download on the web (e.g. iperf on Sourceforge). Simply run the testee application on the board and then run the following commands on the PC:

If running nonCopyTCP: iperf –c <ip_address_of_the_board> –p 1001 –n 81920000

If running copyUDP at 100Mbps link: iperf –c <ip_address_of_the_board> –u –p 1001 –n 20000000 –b 100M

If running copyUDP at 1Gbps link: iperf –c <ip_address_of_the_board> –u –p 1001 –n 20000000 –b <bandwidth>

Specifically for this last command, please note that you need to specify the bandwith, therefore start at 100M and increase it until UDP packet loss starts to happen. There's no handshake in UDP, therefore that's the only way to verify the throughput of an UDP link.

Also, please keep in mind that at gigabit speeds the host PC also influences the measurement. Best results were obtained using a fast PC (2.8+ GHz) running command-line Linux (no X server) and a direct crossover cable.

NDK 1.94 benchmarks for DM648:[edit]

These can be found at the Update Advisor page:

  • Go to Target Content -> Processor Support Packages (PSP) -> DSP/BIOS based platform support -> DSP/BIOS 5.3x-based Platform Support Product Downloads (TMS320DM648/TMS320DM6437)
  • There you will find the document Ethernet switch driver (for DM648 only). Do a Ctrl-F to find the name of the document (there's a lot of documents at this page!)
    • Note: please disregard the text on this document; it is completely incorrect. The results at the bottom are correct, though.
E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article NDK benchmarks here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article NDK benchmarks here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article NDK benchmarks here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article NDK benchmarks here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article NDK benchmarks here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article NDK benchmarks here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article NDK benchmarks here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article NDK benchmarks here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article NDK benchmarks here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity