NVIDIA Rivermax SDK
Optimized networking SDK for Media and Data streaming applications.
NVIDIA® Rivermax® offers a unique IP-based solution for any media and data streaming use case. Rivermax together with NVIDIA GPU accelerated computing technologies unlocks innovation for a wide range of applications in Media and Entertainment (M&E), Broadcast, Healthcare, Smart Cities and more.
Rivermax leverages NVIDIA ConnectX® and BlueField DPU hardware streaming acceleration technology that enables direct data transfers to and from the GPU, delivering best-in-class throughput and latency with minimal CPU utilization for streaming workloads.
Rivermax is the only fully-virtualized streaming solution that complies with the stringent timing and traffic flow requirement of the SMPTE ST 2110-21 specification. Rivermax enables the future of cloud-based software defined broadcast.
Minimal dependency on CPU strength - frees up CPU cycles for application usage.Learn More
Powerful & Flexible SDK Right On Time
- Kernel bypass technology – Hardware based direct copy between an application’s userspace memory and the network interface
- Packet handling offloads by hardware
- GPUDirect - zero memory copy to GPU, reducing PCIe transactions, CPU usage, jitter and latency
- Hardware packet pacing for any data stream
- Single CPU core receives or sends 8 UHD 2160p60 or 32 FHD 1080p60 streams
- Performance scales linearly both in terms of CPU loading and network bandwidth
Achieving Higher Performance & lower CPU Using Rivermax
Rivermax Vs. Linux Kernel - Transmit - Jetson Xavier [Arm]
10x better throughput
3x reduction CPU usage
Rivermax Vs. Linux Kernel - Transmit - x86 Server
15x better throughput
6x reduction CPU usage
Rivermax Vs. Windows Kernel - Receive - x86 Server
17x better throughput
Rivermax Vs. Linux Kernel - Receive - Xavier [Arm]
6x better throughput
4x reduction CPU usage
Enhances GPU capabilities through GPUDirect
Rivermax’s GPUDirect utilizes the high speed PCIe interface to pass the data directly to and from the GPU without burdening the CPU cores
- Rivermax with GPUDirect supports 8 streams of UHD 2160p60 with one CPU Core
- Saves CPU cycles and increases GPU processing capacity
- Zero Memory Copy to/from GPU
- 65% CPU reduction (for 10Gbps)
- Reduces PCIe transactions
- Reduces PCIe transactions
- Cuts processing latency
- Less CPU Cores = Lower overall power requirements
- Supported on Linux and Windows
|* CPU Load for Receiving the Packets, MemCopy (for non GPUDirect) and RTP examination|
The novelty of RoCE/RDMA UDP/IP Multicast for media and data streaming
- Header Data Split with GPUDirect:
- Payload is received in GPU memory
- Headers are received in host memory
- GPU performs Color Space Conversion
- Video rendering on GPU memory
- Up to line rate - 8 X 2160p60
- 1 PCIe transactions
- 0 Copy Operation
- CPU Load – 11%
Maximize GPU Capacity
Network handled by CPU and CPU-Memory
Network goes directly to GPU memory
Powerful & Flexible SDK
- Same standardized cross-platform SDK for Linux and Windows, x86 and Arm CPU architectures
- Slim set of APIs to transmit and receive flows
- Provides a slim set of APIs to transmit and receive flows
- Straightforward API that meets the needs of any data streaming application
- Reference code for fast integration
- Data abstraction - API can be used to represent data in terms of frames/lines rather than individual network packets
- Cloud-ready - supports container and virtualization
- Easy integration with any PTP stack
- Reference examples include NMOS integration for management orchestration
- Compliance with SMPTE ST 2110 and ST 2022
- Seamless reconstruction in hardware of SMPTE ST 2022-7 redundant streams
Right On Time
Advanced Timing and Synchronization
Rivermax leverages the Best-In-Class PTP solution for COTS network adapters
- Time triggered scheduling
- PTP based packet pacing
- PTP Features:
- IEEE 1588v2 (any profile)
- PTP Hardware Clock (PHC) (UTC format)
- 16 nsec accuracy
- Full line rate hardware timestamp (UTC format)
- 1 PPS In and configurable N PPS Out
- DPU Time and Scheduling Service:
- Accurate timing for Windows, Linux bare metal and Virtualized environments
- Enable OS agnostic PTP offloading
Partners Logo List
As our partners roll out new Rivermax based full-IP solutions rigorously tested in their labs,
we’re excited to share the fruits of these collaborative investments with our customers and the market at large.
Latest Product News
SMPTE ST 2110 IP Network at BBC
Learn how Grass Valley built the largest SMPTE ST 2110 IP Network at BBC Cymru Wales New Central Square HQ.
KAIROS | Panasonic
Ground-breaking software to maximize the CPU and GPU capacities for video processing.
Spectrum-X | Harmonic
The easy-to-deploy server that combines ingest with integrated channel playout capabilities for baseband and IP source .
rx | disguise
Dedicated system for hosting third party render engines, enabling new possibilities for scale out rendering. Engineered for the future of virtual production.
RX1 | MediaKind
A multi-codec, multi-service, flexibly deployable professional receiver decoder specifically developed to meet the needs of the contribution market.
TITAN Edge | ateme
Low latency software solution - enables operators to compose multiple processing (Decoder, Gateway, Encoder) in a unique multi-connectivity software.
Thomas True & Nir Nitzani | NVIDIA
Ultra-High Performance Video Streaming Meets the GPU with NVIDIA Rivermax
Mathias Blake | NVIDIA
Using Ethernet to Stream High-Throughput, Low-Latency Medical Sensor Data
Rivermax is a licensed closed source library. An SDK is provided which includes example reference code and the API layer.
Rivermax supports Linux, Windows and Containerized/Virtualized environments like VMware and OpenStack. Rivermax can run on x86 or Arm architectures. ConnectX-5, ConnectX-6 Dx and Bluefield-2 are the main supported platforms.
The Rivermax SDK can be used by any data streaming application. Rivermax provides very high bandwidth, low latency, GPU-Direct and zero memory copy. Applications that need to support IP-Enabled TV Studio Media (SMPTE ST 2110) is a good example use case for the Rivermax SDK. Some popular use cases are: video broadcasting, video wall-display, high BW camera ingest, retail camera input analytics, healthcare DICOM-RTV and H264/5 compressed data.
Yes. Using Rivermax, each frame must be committed with a time parameter set to a system time value (in nanosecond resolution) stating when it must be sent.
The system time gets synchronized to a PTP GrandMaster using third party software. PTP time synchronization is supported for Linux, Windows over bare metal and virtualized environments.
Rivermax version 1.8 introduces accurate timing for Windows and virtualized environments using the BlueField-2 DPU.
Yes. Rivermax supports GPU-Direct over Ethernet IP/UDP.
Highly optimized to move data between the NIC and the GPU directly without CPU intervention nor the need to transfer it via host memory.
Rivermax supports splitting and reconstructing headers and payload. This can be used to place headers in host memory while placing only the payload in GPU memory should an application choose to do so.
This enables having the payload contiguous in GPU memory and at the same time reduces CPU processing to a minimum.
GPU-Direct is supported on Linux and starting from Rivermax version 1.8 on Windows as well.
- Reference Design Guide: Rivermax Openstack SMPTE ST 2110 Media Streaming Cloud with Hardware Offload
- IBC 2019 - PTP in virtualized media environment (by Alex Vainman)
- Eye on Rivermax- ConnectX & Rivermax Streaming UHD IP Video Has Never Been Easier
- Eye on Rivermax - Redefining Media in the cloud with Mellanox Rivermax
- NMOS - Ready, Steady, Go! Video Tutorial
- NMOS - Getting Started