news 2026/6/2 1:08:23

GPU 测试开发的一些概念总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GPU 测试开发的一些概念总结

1. 常见概念

1. NCCL(NVIDIA Collective Communications Library)

  • 做什么:专门优化多 GPU / 多节点的集体操作:
    • AllReduce(最常用,梯度汇总)
    • Broadcast、Reduce、AllGather 等
  • 特点:
    • 拓扑感知:自动识别 NVLink / PCIe / InfiniBand,选最优路径
    • 通信 + 计算融合:一个 kernel 做完通信和算术,延迟低
  • 谁在用:PyTorch DDP、DeepSpeed、Megatron-LM 底层默认就是 NCCL

2. NVSHMEM(NVIDIA SHMEM)

一句话:把整个集群所有 GPU 显存拼成一个 “全局大内存”,GPU 直接读写远程显存,不用 CPU 中转。NVIDIA

  • 模型:PGAS(分区全局地址空间),每个 GPU 都能直接访问别人的显存
  • 通信方式:单边通信(one‑sided)
    • shmem_put:写远程显存
    • shmem_get:读远程显存
    • 原子操作NVIDIA
  • 特点:
    • GPU 发起通信:CUDA kernel 里直接发网络请求,不用 CPU 启动
    • 适合:细粒度、频繁的小数据访问(比如 MoE 路由、稀疏计算)
  • 和 NCCL 区别:
    • NCCL:主打集合通信(AllReduce)
    • NVSHMEM:主打单边、点到点、细粒度

3. UCX(Unified Communication X)

一句话:HPC/AI 的 “万能通信底座”,统一 RDMA、共享内存、TCP 等所有底层传输,上层(MPI/NCCL/OpenSHMEM)都可以基于它。

  • 定位:通信框架的框架,把不同硬件(IB、RoCE、PCIe、共享内存)统一成一套 API
  • 分层:
    • UCT:底层传输层(RDMA、SHM、TCP)
    • UCP:高层协议层(MPI、RMA 等)
  • 特点:
    • 性能接近原生硬件,开销极低
    • NCCL 可插 UCX 插件;NVSHMEM、OpenMPI 都能用 UCX
  • 场景:超算、大模型分布式训练、存储系统

4. GDRCopy(GPU Direct RDMA Copy)

一句话:基于 GPUDirect RDMA 的CPU ↔ GPU 显存超低延迟拷贝库 **,小数据比 cudaMemcpy 快很多。**

  • 传统 cudaMemcpy:
    • 走 GPU 拷贝引擎 → 有 6–7us 固定开销,小数据慢
  • GDRCopy:
    • 把 GPU 显存直接映射到用户态,CPU 直接读写显存
    • 绕过内核、绕过系统内存,微秒级延迟
  • 用途:
    • 高频、小块 CPU ↔ GPU 数据交换
    • UCX、NVSHMEM、OpenMPI 底层都用它加速
  • 限制:CPU 占用更高;只支持 Tesla/Quadro 卡

5. GPUDirect RDMA

一句话:硬件级能力,让网卡(或其他 PCIe 设备)直接读写 GPU 显存 **,完全绕开 CPU 和主机内存。**NVIDIA

  • 传统路径:GPU → 主机内存 → 网卡 → 网络(两次拷贝 + CPU 参与)
  • GPUDirect RDMA:网卡 DMA 直接访问 GPU 显存,零拷贝、无 CPU 干预NVIDIA
  • 条件:GPU + 网卡(如 ConnectX‑6)同 PCIe 根复合体NVIDIA
  • 地位:
    • GDRCopy、NVSHMEM、UCX、NCCL(IB/RoCE 路径)都依赖它
    • 大模型跨节点通信的性能基石

6. 区别和联系

  • GPUDirect RDMA:✅硬件能力(底层通道)✅ 面向:网卡 / 存储 ↔ GPU✅ CPU不能直接用,只能第三方 PCIe 设备用NVIDIA
  • GDRCopy:✅软件库(基于上述能力)✅ 面向:CPU ↔ GPU✅ 把显存暴露给 CPU,用户态直接访问NVIDIA
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 1:06:35

Xshell分屏实战:一边看日志一边执行命令,Linux运维效率神器这样用

Xshell分屏实战:高效运维的窗口管理艺术凌晨三点,服务器告警铃声刺破夜空——又一次线上故障紧急排查。作为运维工程师,你是否经历过这样的场景:左手忙着tail -f追踪实时日志,右手需要不断切换窗口执行诊断命令&#x…

作者头像 李华
网站建设 2026/6/2 1:06:11

3个实战技巧揭秘PyInstaller逆向分析:从黑盒到源码的深度解析

3个实战技巧揭秘PyInstaller逆向分析:从黑盒到源码的深度解析 【免费下载链接】pyinstxtractor PyInstaller Extractor 项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor 你是否曾经面对一个由PyInstaller打包的Python可执行文件,想要…

作者头像 李华
网站建设 2026/6/2 0:58:21

Redis 集群方案详解:主从复制、哨兵、脑裂、分片集群和哈希槽

单节点 Redis 再快,也会遇到三个问题: 单节点并发能力有上限。单节点宕机会导致服务不可用。单节点内存有限,无法承载海量数据。 Redis 的集群方案就是围绕这三个问题展开的:主从复制解决读扩展,哨兵解决自动故障恢复&…

作者头像 李华
网站建设 2026/6/2 0:57:50

AI 智能体依赖管理存风险:“最新”并非“安全”,该如何应对?

AI 智能体依赖管理的风险与应对建议AI 智能体通过层层委托让工作变得更轻松,然而,这些委托层会形成依赖关系,而这些依赖关系又会带来风险。米切尔哈西莫托(Mitchell Hashimoto)建议大家停止更新依赖项,从历…

作者头像 李华