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
NDK benchmarks are available for several C6000 TI DSPs with an Ethernet MAC.
Contents
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.