专栏名称: NVIDIA企业开发者社区
NVIDIA 英伟达开发者社区是NVIDIA GPU开发者交流平台,通过此平台可第一时间获取NVIDIA GPU 开发相关的新产品、新工具、线上/线下活动的资讯。
目录
相关文章推荐
AI前线  ·  GPT-4.5 发布!OpenAI ... ·  昨天  
果粉之家  ·  DeepSeek建议买iPhone16e和不 ... ·  昨天  
果粉之家  ·  DeepSeek建议买iPhone16e和不 ... ·  昨天  
爱可可-爱生活  ·  让语言模型学会通过推理来玩文字解谜游戏 ... ·  2 天前  
机器学习研究组订阅  ·  英伟达下场,首次优化DeepSeek-R1! ... ·  2 天前  
爱可可-爱生活  ·  【Awesome-Open-Vocabula ... ·  2 天前  
51好读  ›  专栏  ›  NVIDIA企业开发者社区

开发者新闻 | 利用 NVIDIA DOCA GPUNetIO 实现实时网络处理的强大功能

NVIDIA企业开发者社区  · 公众号  ·  · 2023-08-24 17:58

正文


利用 NVIDIA DOCA GPUNetIO

实现实时网络处理的强大功能



GPU 提供的高度并行性可以利用网络流量的实时处理。 在这些类型的应用程序中优化数据包获取或传输可以避免瓶颈,并使整体执行能够跟上高速网络的步伐。 在这种情况下,DOCA GPUNetIO 将 GPU 提升为一个独立的组件,可以在没有CPU 干预的情况下执行网络和计算任务。


这篇文章提供了一个 GPU 数据包处理应用程序的列表,这些应用程序专注于不同且不相关的环境。其中,集成了 NVIDIA DOCA GPUNetIO,以降低延迟并最大限度地提高性能。


NVIDIA DOCA GPUNetIO API


NVIDIA DOCA GPUNetIO 是随 NVIDIA DOCA 软件框架发布的新库之一,DOCA GPUNetIO 库可以通过一个或多个 CUDA 内核实现 NIC 和 GPU 之间的直接通信。这会将 CPU 从关键路径中移除。


使用 DOCA GPUNetIO 库中的 CUDA 设备函数,CUDA 内核可以直接从 GPU发送和接收数据包,而无需 CPU 内核或内存。此库的主要功能包括:


GPUDirect Async Kernel-Initiated Network (GDAKIN): 通过以太网进行通信;GPU (CUDA内核)可以直接与网卡交互,在 GPU内存 (GPUDirect RDMA) 中发送或接收数据包,无需 CPU 的干预。


GPU内存暴露: 将基本的 CUDA 内存分配功能与 GDRCopy 库相结合,以便在不使用 CUDA API 的情况下,将 GPU 内存缓冲区暴露给 CPU 直接访问(读取或写入)。


精确的发送调度: 根据 GPU 的需求,可以安排未来突发数据包的传输,将时间戳与之关联,并将此信息提供给网卡。网卡将负责在正确的时间发送数据包。


信号量: 有用的消息传递对象,用于在不同的 CUDA 内核之间,或者在 CUDA 内核和 CPU 线程之间共享信息和进行同步。


如果您想深入了解 DOCA GPUNetIO 的原理和优势,请参阅使用 NVIDIA DOCA GPUNetIO 进行内联 GPU 数据包处理。有关 DOCA GPUNetIO API 的更多详细信息,请参阅 DOCA GPUNetIO SDK 编程指南。


高级 API 性能:同步



图形编程中的同步是指协调和控制并发操作,以确保渲染任务的正确和可预测执行。CPU 和 GPU 之间的不正确同步可能导致性能下降、比赛条件和视觉伪影。


✔ 推 荐

如果异步运行工作负载,请确保它们强调不同的 GPU 单元。例如,将带宽繁重的任务与数学繁重的任务配对。也就是说,使用 z-prepas 和 BVH 构建或后处理。

始终验证异步实现在不同的体系结构中是否更快。


异步工作可以属于不同的框架。使用此技术可以帮助找到更好的配对工作负载。

等待并发出信号量/围栏的绝对最小值。每一个过多的信号量/围栏都可能在管道中引入一个气泡。


使用GPU分析工具 (NVIDIA Nsight Graphics在GPU跟踪模式、PIX或GPUView)查看工作重叠和围栏在不拖延一个或另一个队列的情况下配合得如何。

为了避免额外的同步和资源障碍,可以在计算队列中完成异步复制/传输工作。






请到「今天看啥」查看全文


推荐文章
爱可可-爱生活  ·  【Awesome-Open-Vocabulary-Percept-20250226185512
2 天前
中央广电总台中国之声  ·  怎样才能留住快递小哥?
8 年前