Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other
Target Operating System
Linux
QNX
other
Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other
SDK Manager Version
1.6.0.8170
1.5.1.7815
1.5.0.7774
other
Host Machine Version
native Ubuntu 18.04
other
I have developed a socket communication based application to transfer data between the 2 Xaviers in Drive AGX platform. The application uses DriveWorks socket APIs to achieve this. Currently I am attempting to transfer images from Xavier B to Xavier A using this application. Each image is of 5.5MB and I have tried to transfer both a low number of images (5-10 images) and a high number (952 images). In both cases the time taken to transfer each image is slow. The logs for the same are as below:
./server --port=8000
Program Arguments:
–ip=127.0.0.1
–offscreen=0
–port=8000
–profiling=1
–role=server
Size of image data is : 5529654
Image size sent from server :5529654
Elapsed time is 0.0482717 seconds
Data sent for file : images_bmp/image_seq_007814.bmp
Size of image data is : 5529654
Image size sent from server :5529654
Elapsed time is 0.0534349 seconds
Data sent for file : images_bmp/image_seq_007815.bmp
Size of image data is : 5529654
Image size sent from server :5529654
Elapsed time is 0.0464351 seconds
Data sent for file : images_bmp/image_seq_007816.bmp
Size of image data is : 5529654
Image size sent from server :5529654
Elapsed time is 0.0569469 seconds
Data sent for file : images_bmp/image_seq_007817.bmp
Server : number of images sent: 4
./client --ip=10.153.5.22 --port=8000
Program Arguments:
–ip=10.153.5.22 → This is Xavier B IP
–offscreen=0
–port=8000
–profiling=1
–role=client
Received frame size is : 5529654
Elapsed time is 0.0477219 seconds
Done receiving: 5529654 bytes of data
Received frame size is : 5529654
Elapsed time is 0.0434107 seconds
Done receiving: 5529654 bytes of data
Received frame size is : 5529654
Elapsed time is 0.0431773 seconds
Done receiving: 5529654 bytes of data
Received frame size is : 5529654
Elapsed time is 0.0426182 seconds
Done receiving: 5529654 bytes of data
Client : number of images received: 4
These transfer times are extremely high for my requirements. The documentation shows that inter SoC communication is done through 10Gbps interface. These speeds are not close to this. Am I supposed to be enabling some software configs on the Drive AGX system to achieve faster speeds? Is there any other method we can improve these speeds? If yes please do share the relevant documentation.
Note: We are measuring just the time elapsed by server/client to transmit/receive data. File read/write operations are not included here.