The Remote Direct Memory Access (RDMA) is a feature available on compatible LUCID cameras that enables camera data to be transferred to the host’s RAM directly via the network card bypassing the host’s CPU. This results in lower latency and higher speeds.
To use the RDMA feature with LUCID cameras, you need to use a compatible network card supplied by LUCID.
The sections below describe the prerequisites for RDMA, some example environments, and a configuration procedure.
Prerequisites
Windows configuration of RDMA requires the following host computer and camera:
Host computer:
- Windows 10 Pro (64-bit) or Windows 11 Pro (64-bit)
- A compatible network card. Examples:
- PCIE-10GPOE2-LUCID (LUCID dual port 1G/10G PoE+ RDMA-enabled network card)
- PCIE-10GETH2-BC (Broadcom Dual Port 10G Ethernet Card)
-
PCIe Generation 3 x8
-
Arena SDK (with RDMA support) installed
Camera:
- A compatible LUCID camera with up-to-date firmware
Example systems
The following are systems tested by LUCID that were successfully configured to use RDMA with a compatible LUCID camera.
System 1: Streaming 1x Atlas10 camera
Motherboard | ASUS PRIME Z370-A |
Processor | Intel(R) Core(TM) i7-8700 CPU @ 3.60GHz |
Memory | Crucial Technology BLS8G4D26BFSB.16FBD2 16GB (2x8GB) DDR4 SDRAM |
Memory Channels | 2 available, 2 active |
Operating System | Windows 10 Professional (x64) version 22H2, build 19045.2486 |
Video | Intel HD Graphics 630 |
Storage | Samsung SSD 850 EVO 500GB |
Network Card | LUCID RDMA Network Card PCIE-10GPOE2-LUCID |
System 2: Streaming 4x Atlas10 cameras
Motherboard | ASUS PRIME X299-A II |
Processor | Intel(R) Core(TM) i9-10900X CPU @ 3.70GHz |
Memory | Kingston 9905743-213.A00G 128GB (8x16GB) 16 GB PC4-25600 DDR4 SDRAM |
Memory Channels | 4 available, 4 active |
Operating System | Windows 10 Professional (x64) version 22H2, build 19045.2604 |
Video | NVIDIA GeForce GT 730, 2GB |
Storage | KINGSTON SKC3000S512G 512GB |
Network Card | 2x LUCID RDMA Network Cards PCIE-10GPOE2-LUCID |
Driver Firmware for network card
For each of the systems above, the LUCID RDMA Network Card PCIE-10GPOE2-LUCID had the following driver and firmware:
- Driver version: 224.0.159.0, Date: 11/4/2022
- Network card firmware version: 224.1.102.0
The Arena SDK installation automatically installs the driver. Related firmware updates may be available for download from the LUCID website. Update the firmware following the instructions that accompany the firmware files.
Initial preparation
To configure the host computer:
- Manage power-saving features on host motherboard.
Disable the following power-saving properties on the motherboard if they are present and enabled.- Intel SpeedStep
- C1 State (Halt)
- C1E State (Enhanced Halt)
- The system should be using C0 (Operating State)
- Turn off sound notifications.
Open Settings > Notifications and Actions, and ensure that Allow notifications to play sounds is cleared. Sounds for notifications need to be off so Windows does not prioritize them over the delivery of network packets. - Connect power to the card via the SATA connector.
- Ensure that your RAM placement activates the maximum number of memory channels.
Consult the documentation for your motherboard to determine the optimal memory sequence. - Confirm that your card has established the minimum PCIe bandwidth required for 10G transmission.
System information captured with HWInfo.The table below shows the minimum link width required for the number of cameras connected.# of 10G cameras Link width and speed required 1 PCIe Version: 3.0, Link Width 2x, Link Speed 4.0 GT/s 2 PCIe Version: 3.0, Link Width 4x, Link Speed 4.0 GT/s
Installation procedure
Complete the initial setup of the network card.
- Open the Run dialog using Windows + R, and run ncpa.cpl to find your network connections associated with your NIC. For each associated Ethernet connection, clear all Networking options except the following:
– LUCID Vision Labs Lightweight Filter Driver
– Internet Protocol Version 4 (TCP/IPv4)
– Internet Protocol Version 6 (TCP/IPv6)
- Assign an IP Address and Subnet to your NIC.
- In the PCIE-10GPOE2-LUCID or the PCIE-10GETH2-BC network cards, ensure that the following settings are configured as shown.
Energy-Efficient Ethernet Disabled Jumbo Packet 9174 (set maximum value) NetworkDirect functionality Enabled NetworkDirect Technology RoCE v2 RoCE MTU 4096 Allow the computer to turn off this device to save power Cleared
Activating RDMA
To use RDMA mode on a compatible LUCID camera, open ArenaView and set Transmission Stream Protocol to RDMA.
In C++, this is equivalent to the following:
Arena::IDevice* pDevice = pSystem->CreateDevice(deviceInfos[0]);
Arena::SetNodeValue<GenICam::gcstring>(pDevice->GetNodeMap(), "TransportStreamProtocol", "RDMA");
std::cout << TAB1 << "GevSCPD = " << 0 << std::endl;
Arena::SetNodeValue<int64_t>(pDevice->GetNodeMap(), "GevSCPD", 0);
std::cout << TAB1 << "DeviceLinkThroughputReserve = " << 0 << std::endl;
Arena::SetNodeValue<int64_t>(pDevice->GetNodeMap(), "DeviceLinkThroughputReserve", 0);
Arena::SetNodeValue<int64_t>(pDevice->GetNodeMap(), "GevSCPSPacketSize", 16000);