NVIDIA DAQIRI
NVIDIA DAQIRI 是一个软件定义的数据采集库,可将高带宽仪器与传感器数据接入适配 GPU 的工作流。它能够帮助团队摒弃“先采集、存储,之后再分析”的传统模式,在边缘实现实时处理、传感器自动控制、AI 推理、过滤、缺陷检测和运行状态监测,让团队能够基于实时数据快速作出角决策。
边缘超级计算转型
新一代科学仪器、自动化生产线和高速率传感器网络,正受困于“先存储、后分析”的传统架构瓶颈。
当高带宽数据必须先写入磁盘才能开展处理时,关键洞察往往滞后,无法及时影响实验结果、制造良率、设备运行时长或高风险决策。
NVIDIA DAQIRI 可将任意仪器的数据采集节点升级为具备 AI 能力的边缘超级计算机,将传感器和探测器的原始数据直接流式传输至 GPU 显存,完成实时处理、过滤、推理和控制。

从“先存储、后分析”到实时发现。
架构与生态系统集成
DAQIRI 可将高带宽仪器、探测器与工业传感器接入 NVIDIA 加速计算体系,无需相关团队掌握高速网络、探测器设计或 GPU 显存管理的专业技能。
NVIDIA DAQIRI 是软件定义的数据采集、可对接 GPU 的数据层。它对底层复杂的网络与硬件数据传输机制进行抽象,开发者可通过标准 C++ 或 Python 工作流处理原始流式数据。只要传感器或仪器支持以太网通信,DAQIRI 即可接入其数据,无需修改传感器硬件或软件。
DAQIRI 部署在各类后端运行时的上游。它将原始 UDP 和 RoCE v2 数据流转换为 NVIDIA CUDA™ 可访问的内存格式,供各类工具高速调用,例如用于传感器处理的 NVIDIA Holoscan、用于 AI 推理优化的 NVIDIA TensorRT™,以及用于数字孪生可视化的 NVIDIA Omniverse™。

主要功能
源头实时处理
将计算能力直接部署至仪器端,摆脱离线分析的局限。在实验或生产任务运行期间,即可执行实时重建、推理、滤波以及反馈回路运算。
连接 NVIDIA CUDA-X
简化底层数据流转。DAQIRI 将原始 UDP 和 RoCE v2 数据流转换为适配 GPU 的张量格式,为接入 NVIDIA Holoscan、TensorRT、Omniverse 等下游框架提供了顺畅通路。
降低存储与网络开销
传输洞察结果,而非原始数据。在边缘侧完成实时数据精简与提取,减轻存储系统、本地网络基础设施和中心云资源的压力。
迈向自主仪器之路
实现智能化软件定义控制。将传感器读数直接接入 AI 模型,支持实时分流处置、闭环反馈、自动缺陷检测和自适应系统行为。
开始使用 NVIDIA DAQIRI
DAQIRI 对 UDP、RoCE v2/RDMA、NVIDIA GPUDirect™ RDMA 和 GPUDirect Storage 中的底层数据搬移与缓冲区分配进行抽象,并将流式数据传输至 CUDA 可访问的内存;在支持的情况下,数据可通过零拷贝路径完成传输。
Python | C++
DAQIRI 使用指南
首先配置 DAQIRI 的顶层设置。此配置用于建立原始数据流传输路径,分配一个 CPU 核心来管理 DAQIRI,并精简日志输出以满足部署要求。
%YAML 1.2 --- daqiri: cfg: version: 1 stream_type: "raw" # Use DAQIRI's high-speed DPDK/GPUDirect path. master_core: 3 # CPU core used to start and manage DAQIRI. log_level: "info"
接下来,定义 DAQIRI 将使用的 GPU 内存区域。原始数据包缓冲区通过 GPUDirect 写入 rx_packets ,完成重排序后的张量则存储在 rx_tensor 中,供 GPU 工作负载使用。缓冲区大小还明确体现了 int4-to-fp16 扩展。
memory_regions: - name: "rx_packets" kind: "device" # Raw packets land directly in GPU memory. affinity: 0 # Use GPU 0. num_bufs: 16384 buf_size: 8192 # Headers + sequence number + 8000B payload. - name: "rx_tensor" kind: "device" # Reordered output also stays on the GPU. affinity: 0 num_bufs: 128 # Number of completed tensors DAQIRI can queue. buf_size: 32768000 # 1024 packets * 8000 int4 bytes * 4 bytes after fp16 expansion.
随后,将该配置绑定到物理接收接口。此操作通过 PCIe 地址指定 NIC,启用流隔离,并分配一个轮询队列。该队列每批处理 1024 个数据包,同时可在 2 毫秒后刷新,避免下游处理无限期等待。
interfaces: - name: "rx0" address: "0000:00:00.0" # RX NIC PCIe address from lspci. rx: flow_isolation: true # Only packets matching the flow below are accepted. queues: - name: "q0" id: 0 cpu_core: 9 # CPU core polling the NIC queue. batch_size: 1024 # Build tensors from 1024 packets. timeout_us: 2000 # Flush a partial batch after 2 ms. memory_regions: ["rx_packets"]
还可在配置中添加其他设置,例如数据流、数据包重排序规范和类型转换。.
将这些详细信息写入 YAML 后,应用程序代码可有意保持精简:先从配置文件初始化 DAQIRI,再向 DAQIRI 请求下一组已完成采集的突发数据。当应用程序收到指针时,DAQIRI 已将数据包重新排序为存储在连续 GPU 内存中的张量,因此代码可将其直接传递给模型或 CUDA 内核。
// Initialize DAQIRI with a config file.
daqiri::daqiri_init("rx_reorder.yaml");
daqiri::BurstParams* burst = nullptr;
// Receive packets; DAQIRI reorders them into contiguous GPU memory.
daqiri::get_rx_burst(&burst);
// The reordered batch is now a GPU tensor ready for processing/inference.
auto* tensor = daqiri::get_packet_ptr(burst, 0);
run_model_or_kernel(tensor);
GPU 任务完成后,将缓冲区归还给 DAQIRI,以便在下一次突发传输中重复使用。
灵活的访问与部署选项
根据开发环境和软件部署管线选择合适的访问路径。
性能基准测试
NVIDIA 边缘超级计算平台的高吞吐量数据摄取基准测试,展示数据包以线速直接传输至 GPU 内存的性能。
NVIDIA IGX Thor™ 开发者套件
NVIDIA HGX™ / DGX™ 边缘节点
学习资源库
更多资源
AI 伦理
NVIDIA 认为值得信赖的 AI 是一项共同的责任,我们制定了相关政策和实践来支持各种 AI 应用的开发。根据我们的服务条款下载或使用时,开发者应与其支持的模型团队合作,确保此模型满足相关行业和用例的要求,并解决不可预见的产品滥用问题。
有关此模型道德因素的更多详细信息,请参阅模型卡 可解释性、偏差、安全性和隐私子卡。请单击此处报告安全漏洞或 NVIDIA AI 问题。
立即开始使用 NVIDIA DAQIRI