High-speed transfers over 10G ethernet from Xavier NX

Hello,
I’m working on a Floyd BB02 board (Xavier NX 16GB) and added a 10G ethernet M2 daughtercard from Innovision (The World’s First M.2 10GbE LAN Module | InnoNews - Innodisk).
With iperf3, I can get close to the maximum throughput (>=9 Gbps in either directions), but when using some application or test code (python or C++), throughput seems to be much lower:

  • Python seems to be limited to ~200MB/s (1.6Gbps)
  • using C++ and transferring V2L image buffers (allocated with V4L2_MEMORY_MMAP), I too get low throughput ~200MB/s
  • using C++ and CUDA-allocated memory (pinned), I get around 800MB/s (~6.5Gbps)

Has anybody been able to write application code running on Jetson that reaches close-to-max throughput on a 10G port?
Maybe using libraries like UCX (GitHub - openucx/ucx: Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group)) or UCX-py?
or Rivermax (GitHub - NVIDIA/Rivermax: Extended and advanced applications to the Rivermax SDK (Networking SDK for Media and Data Streaming).) if supported by Jetson?

Any feedback or suggestion is welcome!

Thanks,
Alain

please check sudo tegrastats when your application does not have expected result and see if CPU has bottleneck.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.