NVIDIA 推出 NCCL 2.22,具有增强的内存效率和更快的初始化速度


卡罗琳·毕晓普
2024年9月21日 13:38

NVIDIA 推出 NCCL 2.22,专注于内存效率、更快的初始化和成本估算,以改进 HPC 和 AI 应用程序。




NVIDIA 集体通信库 (NCCL) 发布了最新版本 NCCL 2.22,带来了重大改进,旨在优化内存使用、加快初始化时间并引入成本估算 API。这些更新对于高性能计算 (HPC) 和 人工智能 (AI)应用程序,据 NVIDIA 技术博客称。

发布亮点

NVIDIA Magnum IO NCCL 旨在优化 GPU 间和多节点通信,这对于高效并行计算至关重要。NCCL 2.22 版本的主要功能包括:

  • 惰性连接建立: 此功能会延迟连接的创建,直到需要时才创建,从而显著减少 GPU 内存开销。
  • 新的成本估算 API: 新的 API 有助于优化计算和通信重叠或研究 NCCL 成本模型。
  • 优化 ncclCommInitRank 消除了冗余拓扑查询,对于创建多个通信器的应用程序,初始化速度提高了 90%。
  • IB 路由器支持多个子网: 增加了对跨多个 InfiniBand 子网的作业通信的支持,从而支持更大规模的 DL 训练作业。

详细功能

延迟连接建立

NCCL 2.22 引入了延迟连接建立功能,通过延迟连接创建直到实际需要时才创建,从而显著减少 GPU 内存使用量。此功能对于使用范围较窄的应用程序(例如重复运行相同算法)特别有用。此功能默认启用,但可以通过设置禁用 NCCL_RUNTIME_CONNECT=0

新的成本模型 API

新的 API, ncclGroupSimulateEnd,允许开发人员估算操作所需的时间,帮助优化计算和通信重叠。虽然估算可能与现实并不完全一致,但它们为性能调整提供了有用的指导。

初始化优化

为了最大限度地减少初始化开销,NCCL 团队引入了几项优化,包括延迟连接建立和节点内拓扑融合。这些改进可以减少 ncclCommInitRank 执行时间缩短高达 90%,这使得创建多个通信器的应用程序的运行速度显著加快。

新的调谐器插件界面

新的调谐器插件接口 (v3) 提供了每个集合的 2D 成本表,报告操作所需的估计时间。这允许外部调谐器优化算法和协议组合以获得更好的性能。

静态插件链接

为了方便起见并避免加载问题,NCCL 2.22 支持网络或调谐器插件的静态链接。应用程序可以通过设置来指定此功能 NCCL_NET_PLUGIN 或者 NCCL_TUNER_PLUGINSTATIC_PLUGIN

中止或销毁的组语义

NCCL 2.22 引入了组语义 ncclCommDestroyncclCommAbort,允许同时销毁多个通信器。此功能旨在防止死锁并提高用户体验。

IB 路由器支持

通过此版本,NCCL 可以跨不同的 InfiniBand 子网运行,从而增强大型网络的通信。该库会自动检测并建立不同子网上端点之间的连接,并使用 FLID 实现更高的性能和自适应路由。

错误修复和小更新

NCCL 2.22 版本还包括一些错误修复和小更新:

  • 支持 allreduce DGX Google Cloud 上的树算法。
  • 在 IB 异步错误中记录 NIC 名称。
  • 提高了已注册的发送和接收操作的性能。
  • 添加了 NVIDIA 可信计算解决方案的基础设施代码。
  • 为 IB 和 RoCE 控制消息分离流量类别以实现高级 QoS。
  • 支持跨分区 Broadcom PCI 交换机的 PCI 对等通信。

概括

NCCL 2.22 版本引入了多项重要功能和优化,旨在提高 HPC 和 AI 应用程序的性能和效率。改进包括新的调谐器插件接口、对插件静态链接的支持以及增强的组语义以防止死锁。

图片来源:Shutterstock


(标签翻译)人工智能(t)加密(t)区块链(t)新闻



关键词:AI,crypto,blockchain,news

2.22具有增强的内存效率和更快的初始化速度AIblockchainCryptoNCCLnewsNvidia推出
Comments (0)
Add Comment