Open andrewseddon opened 6 days ago
Hi @andrewseddon ,
for your intel NIC we have nothing ready yet. ( at the moment we can acellerate on NVIDIA NICs ) RDMA support will come but is not available now.
The mentioned zero copy stragegies listed in your document also has limitations if the camera count gets larger.
To check, if your current setup would be capable to handle full zero-copy, can you show the output
ethtool -l <interface_name>
Channel parameters for enp129s0f0np0: Pre-set maximums: RX: 32 TX: 32 Other: 1 Combined: 32 Current hardware settings: RX: 0 TX: 0 Other: 1 Combined: 32
This is on our Intel 810 NIC. But we are happy to switch to NVIDIA NIC's if you have a means to accelerate packet processing on them. Would you recommend something like the ConnectX-6 Dx ?
One easy option to accelerate on Nvidia NIC is to use https://docs.nvidia.com/networking/display/xliov3402
xlio is a LD_PRELOAD library that will accelerate the UDP receive without code changes.
For our work on rdma. Do you only need the video data on the GPU? ( Nvidia GPU direct) or do you also want to access the data in CPU memory?
Is there a way to offload the network packet processing from the CPU? We have a system using around 20 cameras connected to a server via a 100Gbit Intel NIC. Packet processing alone takes up about 50% of the CPU. There are many strategies for offloading this networking processing as detailed here. Does Basler and gst-plugin-pylon support any of them?
I assume NVMM alone does not help here, as the CPU still does the header stripping, which is then fed into GPU memory.