NVIDIA Rivermax FAQ
Get answers to common questions about NVIDIA® Rivermax®, including supported platforms, features, and applications.
General Compatibility and Architecture
Rivermax supports both NVIDIA ConnectX® network interface cards (NICs) and NVIDIA BlueField® data processing units (DPUs). For Windows OS, strict timing requirements (PTP, ST2110) necessitate the use of a BlueField card. A comprehensive list of supported adapters can be found on the NVIDIA Rivermax SDK page.
Rivermax supports both x86 and Arm® architectures, including AMD and Intel processors. Refer to the tuning guides for performance-optimization tips.
Rivermax is a cross-platform SDK that supports both Linux and Windows on compatible adapters. It can also run within Docker containers without any impact on performance or functionality. Rivermax also supports single-root input/output virtualization (SR-IOV) on OpenStack using Kernel-based Virtual Machine (KVM).
Note that advanced features may be hardware-dependent and supported only on specific NICs.
For a complete list of compatible operating systems, refer to the NVIDIA Rivermax SDK page.
Rivermax is a licensed, closed-source library. An SDK is provided, which includes example reference code and the API layer. Advanced code samples are also available on GitHub.
Timing
Yes.
On Windows: Time synchronization is achieved using the BlueField DPU and NVIDIA DOCA-Firefly time service, providing OS and virtualization-agnostic PTP synchronization offloaded from the CPU. A version of Linux PTP runs on the DPU Arm cores, locking the NIC's real-time clock, and Rivermax provides the mechanism to read this PTP time.
For Linux OS: Linux PTP runs on the host, locking the NIC's real-time clock.
Yes, Rivermax supports GPUDirect over Ethernet Internet Protocol and User Datagram Protocol (IP/UDP). This highly optimized solution moves data directly between the NIC and GPU, eliminating CPU intervention and the need to transfer via host memory. Rivermax also supports splitting and reconstructing headers and payloads. This allows headers to be placed in host memory while only the payload is placed in GPU memory for contiguous GPU memory and minimal CPU processing. GPUDirect is supported on Linux and Windows.
Rivermax supports SMPTE Specs: 2110-20, 2110-30, 2110-31, 2110-40, 2022-7, and 2110-22. IPMX is also supported.
Rivermax supports high-definition (HD), ultra-high-definition (UHD) and 8K UHD streams. For a complete list and details, refer to the NVIDIA Rivermax SDK page.
Yes. NMOS is used for discovering, registering, and managing media flows as part of the application layer. The NMOS specifications describe a control plane that makes ST 2110-based infrastructure manageable and simpler to operate. The Rivermax SDK includes an NMOS “media_node” code example.
Rivermax is JT-NM tested and has been verified for SMPTE ST 2110-20/30/40, 2022-7 compliance. Rivermax also supports ST2022-6 and ST 2110-31. The full report can be downloaded from the JT-NM.org website. Rivermax undergoes JT-NM testing with each SDK release.
Applications and Use Cases
Rivermax provides very high bandwidth, low latency, GPUDirect, and zero memory copy, making it suitable for any data streaming application.
Typical use cases include:
- Broadcast:
- IP-enabled TV studio media (SMPTE ST 2110)
- Virtual production
- H.264 and H.265 compressed data
- Applications needing compressed video streaming, such as JPEG-XS over SMPTE ST2110-22
Professional audiovisual (pro AV): immersive live shows, immersive video experiences (e.g., wall displays), location-based entertainment
- Healthcare: use cases requiring high-bandwidth imaging ingest (camera, ultrasound, etc.)
- Industrial vision: ultra-high video feed from production lines
Refer to the NVIDIA Rivermax SDK page for additional customer use cases.