[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-NVIDIA--nccl":3,"tool-NVIDIA--nccl":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":114,"forks":115,"last_commit_at":116,"license":117,"difficulty_score":118,"env_os":119,"env_gpu":120,"env_ram":121,"env_deps":122,"category_tags":126,"github_topics":127,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":134,"updated_at":135,"faqs":136,"releases":165},2657,"NVIDIA\u002Fnccl","nccl","Optimized primitives for collective multi-GPU communication","NCCL（发音为\"Nickel\"）是 NVIDIA 推出的一款开源通信库，专为多 GPU 环境下的高效数据交互而设计。在深度学习训练或高性能计算中，当多个显卡需要协同工作时，如何在它们之间快速同步数据往往成为性能瓶颈。NCCL 正是为了解决这一难题而生，它提供了一套经过深度优化的标准通信原语，支持全归约、广播、聚合等多种通信模式。\n\n无论是单机内的多卡协作，还是跨越多台服务器的分布式集群，NCCL 都能充分利用 PCIe、NVLink、NVswitch 以及 InfiniBand 等硬件通道，实现极高的带宽利用率，显著降低通信延迟。这使得大规模模型训练能够更高效地扩展，避免因通信开销过大而拖累整体算力。\n\nNCCL 主要面向 AI 开发者、系统工程师及科研人员，特别是那些从事分布式深度学习框架开发或需要自定义多 GPU 通信逻辑的用户。它可以轻松集成到单进程或多进程（如 MPI）应用中，也是许多主流深度学习框架底层的通信基石。其独特的架构适应能力与对多种互联技术的原生支持，使其成为构建高性能 GPU 集群不可或缺的基础设施。","# NCCL\n\nOptimized primitives for inter-GPU communication.\n\n## Introduction\n\nNCCL (pronounced \"Nickel\") is a stand-alone library of standard communication routines for GPUs, implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, as well as any send\u002Freceive based communication pattern. It has been optimized to achieve high bandwidth on platforms using PCIe, NVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP\u002FIP sockets. NCCL supports an arbitrary number of GPUs installed in a single node or across multiple nodes, and can be used in either single- or multi-process (e.g., MPI) applications.\n\nFor more information on NCCL usage, please refer to the [NCCL documentation](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fsdk\u002Fnccl-developer-guide\u002Findex.html).\n\n## Build\n\nNote: the official and tested builds of NCCL can be downloaded from: https:\u002F\u002Fdeveloper.nvidia.com\u002Fnccl. You can skip the following build steps if you choose to use the official builds.\n\nTo build the library :\n\n```shell\n$ cd nccl\n$ make -j src.build\n```\n\nIf CUDA is not installed in the default \u002Fusr\u002Flocal\u002Fcuda path, you can define the CUDA path with :\n\n```shell\n$ make src.build CUDA_HOME=\u003Cpath to cuda install>\n```\n\nNCCL will be compiled and installed in `build\u002F` unless `BUILDDIR` is set.\n\nBy default, NCCL is compiled for all supported architectures. To accelerate the compilation and reduce the binary size, consider redefining `NVCC_GENCODE` (defined in `makefiles\u002Fcommon.mk`) to only include the architecture of the target platform :\n```shell\n$ make -j src.build NVCC_GENCODE=\"-gencode=arch=compute_90,code=sm_90\"\n```\n\n## Install\n\nTo install NCCL on the system, create a package then install it as root.\n\nDebian\u002FUbuntu :\n```shell\n$ # Install tools to create debian packages\n$ sudo apt install build-essential devscripts debhelper fakeroot\n$ # Build NCCL deb package\n$ make pkg.debian.build\n$ ls build\u002Fpkg\u002Fdeb\u002F\n```\n\nRedHat\u002FCentOS :\n```shell\n$ # Install tools to create rpm packages\n$ sudo yum install rpm-build rpmdevtools\n$ # Build NCCL rpm package\n$ make pkg.redhat.build\n$ ls build\u002Fpkg\u002Frpm\u002F\n```\n\nOS-agnostic tarball :\n```shell\n$ make pkg.txz.build\n$ ls build\u002Fpkg\u002Ftxz\u002F\n```\n\n## Tests\n\nTests for NCCL are maintained separately at https:\u002F\u002Fgithub.com\u002Fnvidia\u002Fnccl-tests.\n\n```shell\n$ git clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl-tests.git\n$ cd nccl-tests\n$ make\n$ .\u002Fbuild\u002Fall_reduce_perf -b 8 -e 256M -f 2 -g \u003Cngpus>\n```\n\n## Copyright\n\nAll source code and accompanying documentation is copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\n","# NCCL\n\n用于 GPU 间通信的优化原语。\n\n## 简介\n\nNCCL（发音为“Nickel”）是一个独立的 GPU 标准通信库，实现了 all-reduce、all-gather、reduce、broadcast、reduce-scatter 以及基于 send\u002Freceive 的各种通信模式。它经过优化，可在使用 PCIe、NVLink、NVswitch 的平台上，以及通过 InfiniBand Verbs 或 TCP\u002FIP 套接字进行网络通信的场景下，实现高带宽。NCCL 支持单节点内或跨多个节点安装的任意数量的 GPU，并且可以在单进程或多进程（例如 MPI）应用程序中使用。\n\n有关 NCCL 使用的更多信息，请参阅 [NCCL 文档](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fsdk\u002Fnccl-developer-guide\u002Findex.html)。\n\n## 构建\n\n注意：NCCL 的官方已测试版本可从以下地址下载：https:\u002F\u002Fdeveloper.nvidia.com\u002Fnccl。如果您选择使用官方版本，则可以跳过以下构建步骤。\n\n构建该库的命令如下：\n\n```shell\n$ cd nccl\n$ make -j src.build\n```\n\n如果 CUDA 未安装在默认的 \u002Fusr\u002Flocal\u002Fcuda 路径下，可以通过以下方式指定 CUDA 路径：\n\n```shell\n$ make src.build CUDA_HOME=\u003CCUDA 安装路径>\n```\n\nNCCL 将被编译并安装到 `build\u002F` 目录下，除非设置了 `BUILDDIR` 变量。\n\n默认情况下，NCCL 会针对所有支持的架构进行编译。为了加快编译速度并减小二进制文件大小，可以重新定义 `NVCC_GENCODE`（定义在 `makefiles\u002Fcommon.mk` 中），仅包含目标平台的架构：\n```shell\n$ make -j src.build NVCC_GENCODE=\"-gencode=arch=compute_90,code=sm_90\"\n```\n\n## 安装\n\n要将 NCCL 安装到系统中，首先创建一个软件包，然后以 root 用户身份进行安装。\n\nDebian\u002FUbuntu：\n```shell\n$ # 安装用于创建 Debian 软件包的工具\n$ sudo apt install build-essential devscripts debhelper fakeroot\n$ # 构建 NCCL 的 Debian 软件包\n$ make pkg.debian.build\n$ ls build\u002Fpkg\u002Fdeb\u002F\n```\n\nRedHat\u002FCentOS：\n```shell\n$ # 安装用于创建 RPM 软件包的工具\n$ sudo yum install rpm-build rpmdevtools\n$ # 构建 NCCL 的 RPM 软件包\n$ make pkg.redhat.build\n$ ls build\u002Fpkg\u002Frpm\u002F\n```\n\n与操作系统无关的 tarball：\n```shell\n$ make pkg.txz.build\n$ ls build\u002Fpkg\u002Ftxz\u002F\n```\n\n## 测试\n\nNCCL 的测试代码单独维护在 https:\u002F\u002Fgithub.com\u002Fnvidia\u002Fnccl-tests 上。\n\n```shell\n$ git clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl-tests.git\n$ cd nccl-tests\n$ make\n$ .\u002Fbuild\u002Fall_reduce_perf -b 8 -e 256M -f 2 -g \u003Cgpu 数量>\n```\n\n## 版权\n\n所有源代码及配套文档的版权均归 NVIDIA CORPORATION 所有，自 2015 年至 2020 年，保留一切权利。","# NCCL 快速上手指南\n\nNCCL（NVIDIA Collective Communications Library）是专为 GPU 间通信优化的高性能库，支持多卡及多节点环境下的集合通信操作（如 All-Reduce、Broadcast 等），广泛应用于深度学习分布式训练。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux (推荐 Ubuntu, CentOS, RHEL)\n- **GPU**：NVIDIA GPU (支持 PCIe, NVLink, NVSwitch)\n- **网络**：单机或多机环境（多机需配备 InfiniBand 或高速以太网）\n\n### 前置依赖\n- **CUDA Toolkit**：已安装且版本兼容（默认路径 `\u002Fusr\u002Flocal\u002Fcuda`，若非默认需指定 `CUDA_HOME`）\n- **编译工具**：`make`, `gcc\u002Fg++`\n- **打包工具**（如需构建安装包）：\n  - Debian\u002FUbuntu: `build-essential`, `devscripts`, `debhelper`, `fakeroot`\n  - RedHat\u002FCentOS: `rpm-build`, `rpmdevtools`\n\n> **提示**：生产环境建议直接下载 NVIDIA 官方预编译包，跳过源码编译步骤：\n> https:\u002F\u002Fdeveloper.nvidia.com\u002Fnccl\n\n## 安装步骤\n\n### 方式一：源码编译（开发测试用）\n\n1. **克隆代码并编译**\n   ```shell\n   $ cd nccl\n   $ make -j src.build\n   ```\n\n2. **指定非默认 CUDA 路径**（如适用）\n   ```shell\n   $ make src.build CUDA_HOME=\u003Cpath to cuda install>\n   ```\n\n3. **加速编译（可选）**\n   仅编译目标架构以减少二进制体积（例如针对 Hopper 架构）：\n   ```shell\n   $ make -j src.build NVCC_GENCODE=\"-gencode=arch=compute_90,code=sm_90\"\n   ```\n   *编译产物默认位于 `build\u002F` 目录。*\n\n### 方式二：构建系统安装包\n\n**Debian\u002FUbuntu:**\n```shell\n$ sudo apt install build-essential devscripts debhelper fakeroot\n$ make pkg.debian.build\n$ ls build\u002Fpkg\u002Fdeb\u002F\n# 使用 dpkg 安装生成的 .deb 包\n```\n\n**RedHat\u002FCentOS:**\n```shell\n$ sudo yum install rpm-build rpmdevtools\n$ make pkg.redhat.build\n$ ls build\u002Fpkg\u002Frpm\u002F\n# 使用 rpm\u002Fyum 安装生成的 .rpm 包\n```\n\n**通用 Tarball:**\n```shell\n$ make pkg.txz.build\n$ ls build\u002Fpkg\u002Ftxz\u002F\n# 解压至任意目录并配置 LD_LIBRARY_PATH\n```\n\n## 基本使用\n\nNCCL 通常作为底层库被深度学习框架（如 PyTorch, TensorFlow）或 MPI 程序调用。若需验证安装效果或测试性能，请使用官方独立的测试套件。\n\n1. **获取测试工具**\n   ```shell\n   $ git clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl-tests.git\n   $ cd nccl-tests\n   ```\n\n2. **编译测试工具**\n   ```shell\n   $ make\n   ```\n\n3. **运行性能测试**\n   以下命令在 `\u003Cngpus>` 个 GPU 上执行 All-Reduce 性能测试，数据大小从 8 字节到 256MB：\n   ```shell\n   $ .\u002Fbuild\u002Fall_reduce_perf -b 8 -e 256M -f 2 -g \u003Cngpus>\n   ```\n   *请将 `\u003Cngpus>` 替换为实际显卡数量（例如 `-g 4`）。*\n\n> **注意**：详细 API 用法与集成指南请参阅 [NCCL 开发者文档](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fsdk\u002Fnccl-developer-guide\u002Findex.html)。","某自动驾驶团队正在利用 8 卡服务器集群训练大规模感知模型，急需解决多 GPU 间梯度同步的效率瓶颈。\n\n### 没有 nccl 时\n- 开发者被迫使用原生 MPI 或自定义 Socket 通信，无法自动识别并利用 NVLink 高速互联，导致显卡间数据传输带宽极低。\n- 在进行全归约（All-Reduce）操作时，通信逻辑复杂且未针对 GPU 显存优化，大量占用计算资源，造成 GPU 利用率不足 60%。\n- 随着节点数量增加，网络拓扑感知缺失导致通信延迟呈指数级上升，训练任务经常因超时而中断。\n- 缺乏标准的集合通信原语，每次调整模型并行策略都需要重写底层通信代码，开发迭代周期长达数周。\n\n### 使用 nccl 后\n- nccl 自动探测并优先调度 NVLink 与 NVSwitch 通道，将多卡间通信带宽提升至硬件理论极限，数据传输速度提升数倍。\n- 内置高度优化的 All-Reduce、Broadcast 等原语直接操作显存，通信过程几乎不占用计算核心，使 GPU 利用率稳定在 95% 以上。\n- 智能适配 PCIe、InfiniBand 等多种网络拓扑，即使在跨节点大规模集群中也能保持线性加速比，训练稳定性显著增强。\n- 提供统一的标准化接口，团队无需关心底层硬件差异，仅需几行代码即可切换并行策略，新算法验证时间从周缩短至小时级。\n\nnccl 通过极致优化的多 GPU 通信原语，将分布式训练的通信开销降至最低，让算力真正服务于模型迭代而非等待数据同步。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNVIDIA_nccl_6b4daf6e.png","NVIDIA","NVIDIA Corporation","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FNVIDIA_7dcf6000.png","",null,"https:\u002F\u002Fnvidia.com","https:\u002F\u002Fgithub.com\u002FNVIDIA",[83,87,91,95,99,103,107,110],{"name":84,"color":85,"percentage":86},"C++","#f34b7d",62.7,{"name":88,"color":89,"percentage":90},"C","#555555",18.2,{"name":92,"color":93,"percentage":94},"Cuda","#3A4E3A",11.8,{"name":96,"color":97,"percentage":98},"Python","#3572A5",3.8,{"name":100,"color":101,"percentage":102},"Cython","#fedf5b",1.8,{"name":104,"color":105,"percentage":106},"CMake","#DA3434",0.8,{"name":108,"color":109,"percentage":106},"Makefile","#427819",{"name":111,"color":112,"percentage":113},"Shell","#89e051",0,4587,1195,"2026-04-03T05:07:27","NOASSERTION",4,"Linux","必需 NVIDIA GPU。支持通过 PCIe、NVLink、NVswitch 互联的单节点或多节点多 GPU 环境。具体型号未说明，但需匹配编译时指定的 CUDA 架构（如 compute_90\u002Fsm_90）。","未说明",{"notes":123,"python":121,"dependencies":124},"NCCL 是一个独立的 C\u002FC++ 通信库，并非 Python 包。官方提供预编译包，若从源码构建需安装 CUDA 并指定路径（CUDA_HOME）。默认编译支持所有架构，建议根据目标平台调整 NVCC_GENCODE 以减小体积。测试工具需单独从 nccl-tests 仓库克隆编译。支持 InfiniBand Verbs 或 TCP\u002FIP 网络后端。",[125],"CUDA Toolkit",[13],[128,129,130,131,132,133],"communications","cpp","cuda","deep-learning","gpu","nvidia","2026-03-27T02:49:30.150509","2026-04-06T08:27:34.748204",[137,142,146,151,156,161],{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},12304,"当多个进程组（ProcessGroups）中有一个 Rank 崩溃时，为什么调用 ncclCommAbort 会卡死？","这是一个已知问题。当存在多个进程组且其中一个 Rank 崩溃时，如果尝试中止默认进程组（pg）而非出错的进程组（pg1），可能会导致 ncclCommAbort 挂起。解决方案是调整中止顺序：先调用出错进程组的 _abort()，再调用默认进程组的 _abort()。例如，将代码中的 `pg._get_backend(...)._abort()` 和 `pg1._get_backend(...)._abort()` 顺序互换，通常可以解决卡死问题并让进程正常退出。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fissues\u002F1013",{"id":143,"question_zh":144,"answer_zh":145,"source_url":141},12305,"遇到 'cuda failure out of memory' 错误后，ncclCommAbort 永久挂起怎么办？","当同一主机上的多个 Rank 经历 CUDA 显存溢出（out of memory）错误时，ncclCommAbort 可能会永久挂起。日志中通常会出现 `NCCL WARN Cuda failure 'out of memory'`。目前建议检查 NCCL 版本，某些旧版本（如 2.19.3 之前）可能未完全修复此问题。如果问题持续，请尝试升级 NCCL 到最新版本，或在应用层增加显存监控以避免 OOM 触发 NCCL 内部状态不一致。",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},12306,"运行 nccl-tests 时系统完全冻结（鼠标能动但无法点击）是什么原因？","这通常与 NVLink 检测超时或内核层面的硬件通信问题有关。虽然 nccl-tests 本身可能显示正常运行，但系统冻结表明底层驱动或硬件交互出现了阻塞。建议检查系统日志 `\u002Fvar\u002Flog\u002Fsyslog` 和内核日志 `dmesg`，查找是否有涉及 NVLink、PCIe 或 NVIDIA 驱动的超时（timeout）或错误信息。如果没有明显报错，可能需要更新 NVIDIA 驱动程序或 BIOS，并确保 PCIe 插槽和 NVLink 桥接器连接稳固。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fissues\u002F340",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},12307,"如何在 InfiniBand 环境下排查 NCCL 性能低于预期的问题？","如果 InfiniBand 带宽充足（如 400Gb\u002Fs）但 NCCL 测试仅达到预期的一半（如 20GB\u002Fs）且波动较大，首先检查环境变量配置。确保正确设置了 `NCCL_IB_HCA` 以指定使用的 HCA 设备，并排除非 InfiniBand 设备（如以太网接口）。例如，若 `mlx5_2` 是以太网接口，应设置 `NCCL_IB_HCA=^mlx5_2` 来排除它。此外，检查 `ibstatus` 确认所有参与通信的端口状态为 ACTIVE 且 link_layer 为 InfiniBand。应用相关补丁或升级到 NCCL 主分支版本通常能显著改善 Tree 算法下的性能。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fissues\u002F307",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},12308,"使用 Intel E810 网卡运行分布式训练时报 'ncclSystemError: System call failed' 如何解决？","该错误通常发生在尝试通过 RoCE (RDMA over Converged Ethernet) 协议通信时，而系统缺少必要的插件或驱动支持。日志中若出现 `libibverbs: Warning: couldn't load driver 'libi40iw-rdmav34.so'`，说明缺少 Intel i40iw 驱动。解决方法有两种：1) 安装缺失的驱动包（如 libi40iw-rdma）；2) 如果不需要 RoCE 高性能，可以通过设置环境变量 `NCCL_IB_DISABLE=1` 强制 NCCL 回退到 TCP 协议进行通信，这通常能立即解决报错并允许训练正常运行。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fissues\u002F622",{"id":162,"question_zh":163,"answer_zh":164,"source_url":160},12309,"NCCL 初始化时提示 'No plugin found (libnccl-net.so)' 是什么意思？","这条信息表示 NCCL 没有找到外部的网络插件库（libnccl-net.so），因此会自动回退到使用内部实现的净额（Net）逻辑。这通常不是错误，而是信息提示。如果使用 InfiniBand 或 RoCE 且性能正常，可以忽略此消息。如果需要使用特定的第三方网络优化插件，则需要确保该插件库已正确安装并在 LD_LIBRARY_PATH 中可见。对于大多数标准用户，使用内部实现即可满足需求。",[166,171,176,181,186,191],{"id":167,"version":168,"summary_zh":169,"released_at":170},62687,"v2.29.7-1","## 设备 API 及 GIN 增强功能\n * 为 GIN 添加多上下文支持，并可选择请求独占的 GIN 上下文。\n * 添加基于 VA 的 GIN 信号，以及严格的窗口顺序。\n * 为 GIN 添加高级队列控制功能，包括队列深度、手动信用管理和聚合。\n * 为无跨轨连接的平台添加 GIN 支持。\n * 向 ncclCommQueryProperties 中添加 nLsaTeams。\n * 将 GIN 与 NET 插件及拓扑解耦。\n\n## 新增设备 API 以提升便利性\n * 新增用于各种设备端操作的设备 API。\n * 引入 Copy、ReduceCopy 和 ReduceSum 等操作，支持多种数据类型和运算。\n\n## 动态内存卸载\n * 添加 ncclCommSuspend() \u002F ncclCommResume()，用于释放\u002F恢复通信器内存。\n * 添加基础的内存开销跟踪基础设施。\n\n## 内置混合（LSA+GIN）对称内核用于 ReduceScatter：\n * 添加新的层次化内核，以提升 ReduceScatter 的性能和可扩展性。\n * 需要对称内存注册和 GIN 支持。\n * 可通过设置 NCCL_SYM_GIN_KERNELS_ENABLE=0 来禁用对称 GIN 内核。\n\n## 添加端口故障转移支持\n * 允许内部 IB\u002FRoCE 插件在发生网络错误时继续透明工作。\n * 为具有多个本地 IB\u002FRoCE 端口\u002F设备的 GPU 添加自动端口故障转移功能。\n * 可通过设置 NCCL_IB_RESILIENCY_PORT_FAILOVER=1 来启用此功能。\n\n## 对称内存改进\n * 在对称内核中添加中止支持。\n * 添加 NCCL_CHECK_MODE=DEBUG，用于验证对称缓冲区的注册情况。\n\n## 项目布局重组\n * 将 `ext-*` 目录移至 `plugins` 目录下（例如 `ext-net` → `plugins\u002Fnet`）。\n * `ir` 和 `nccl4py` 现在位于 `bindings` 目录下。\n * `examples` 现在更名为 `docs\u002Fexamples`。\n\n## 其他改进\n * 在 GIN 屏障中为不同对端使用不同的信号。\n * 添加 NCCL_NO_CACHE，强制 NCCL 始终重新读取选定的环境变量。\n * 添加 CMake 安装和 find_package 支持。\n * 为 NCCL4Py 构建添加 CMake，并更新 Cybind 集成。\n * 添加初步的向后兼容性支持，允许在 NCCL 2.29.7 上运行由 NCCL 2.29.2\u002F3 编译的 LSA 内核。目前 GIN 尚不支持此功能。\n\n## Bug 修复\n * 修复与引入 git_version.h 相关的问题。（GitHub Issue #1960）\n * 修复当元素数量不是块数的倍数时的一 Rank Reduce 问题。（GitHub Issue #1950）\n * 改进 ncclCommGetAsyncError 中 GIN 的处理。（GitHub Issue #2019）\n * 修复 P2P 传输中的内存初始化问题。（GitHub Issue #1962）\n * 修复重复稀疏模式下发送\u002F接收调度中的死锁问题。\n * 当基于 CE 的集体通信操作使用空\u002F默认流时，回退到 cudaMemcpyAsync API。\n * 在 commFree 期间自动释放对称窗口对象。\n * 修复 GIN 代理中信号和计数器 ID 的 16 位溢出问题。\n * 在 ncclDevCommDestroy 时重置 GIN 计数器和信号。\n * 修复 ncclGinIbP2PBarrier 过程中的本地数据计算问题。\n\n\n## 其他\n * ","2026-02-27T20:38:14",{"id":172,"version":173,"summary_zh":174,"released_at":175},62688,"v2.29.3-1","修复了在弱故障情况下 CAS 的使用问题，该问题曾导致 ARM 架构上出现死锁。此问题会影响使用 GCC 10 之前版本编译的 NCCL。","2026-02-03T02:19:27",{"id":177,"version":178,"summary_zh":179,"released_at":180},62689,"v2.29.2-1","## 设备 API 改进\n * 支持设备 API 结构版本控制，以实现与未来版本的向后兼容。\n * 新增 ncclCommQueryProperties 函数，允许设备 API 用户在创建 DevComm 之前检查支持的功能。\n * 新增从对称注册的 NCCL 窗口中访问主机的设备指针函数。\n * 更新并完善 GIN 文档，以更清晰地说明支持矩阵。\n\n## 新的一方主机 API\n * 针对网络和 NVL 传输，新增基于零 SM 的新主机 API（ncclPutSignal、ncclWaitSignal 等）。\n * 一方通信操作可将数据从本地缓冲区写入远程对端的已注册内存窗口，而无需目标进程的显式参与。\n * 对于 NVL 传输，使用 CopyEngine；对于网络传输，则通过 CPU 代理完成。\n * 需要 CUDA 12.5 或更高版本。\n\n## 新的实验性 Python 语言绑定 (NCCL4Py)\n * 为 Python 应用程序提供符合 Python 风格的 NCCL API——原生集合通信、点对点通信及其他 NCCL 操作。\n * 与 CUDA Python 生态系统兼容：支持 DLPack\u002FCUDA 数组接口，并特别针对 PyTorch 和 CuPy 进行优化。\n * 自动清理由 NCCL 管理的资源（GPU 缓冲区、注册缓冲区\u002F窗口、自定义约简操作等）。\n\n## 新的 LLVM 中间表示 (IR) 支持\n * 通过 LLVM IR 公开 NCCL 设备 API，以便被各种代码生成系统使用。\n * 典型应用场景包括高级语言、即时编译 (JIT) 编译器以及领域特定语言 (DSL)。\n * 使用 EMIT_LLVM_IR=1 构建选项即可生成 LLVM IR 位码。\n * 需要 CUDA 12 和 Clang 21。\n\n## 内置混合（LSA+GIN）对称内核用于 AllGather\n * 新增一种基于 MCRing（NVLS 多播 + Ring）的分层内核，以提升 AllGather 的性能和可扩展性。\n * 需要对称内存注册和 GIN 支持。\n\n## 新的 ncclCommGrow API\n * 增加了向现有 NCCL 通信器动态且高效地添加进程的能力。\n * 可结合 ncclCommShrink 使用，以根据节点故障和恢复情况调整通信器成员。\n * 同时也满足弹性应用的需求，允许在作业运行期间通过集成新进程来扩展任务规模。\n\n## 多段注册\n * 扩展缓冲区注册功能，支持将多段物理内存映射到一个连续的虚拟地址空间，适用于 p2p、IB 和 NVLS 传输。\n * 使 PyTorch 能够支持可扩展的内存段。\n\n## 提升 AllGatherV 模式的可扩展性\n * 新增对可扩展 allgatherv 模式（广播组）的支持。\n * 引入新的调度路径和内核，以提升大规模场景下的性能。\n\n## 调试与可观测性改进\n * RAS 支持实时监控，持续跟踪对端状态变化。\n * Inspector 工具新增对 Prometheus 格式输出的支持（通过设置 NCCL_INSPECTOR_PROM_DUMP=1），同时保留现有的 JSON 格式。\n * 新增对基于 CopyEngine (CE) 的集合通信的性能分析支持。\n\n## 社区参与\n * 新增贡献指南：https:\u002F\u002Fgithub.com\u002FNVIDI","2025-12-24T01:24:52",{"id":182,"version":183,"summary_zh":184,"released_at":185},62690,"v2.28.9-1","## NCCL v2.28 更新 2 -\n\n- 修复主线程与代理线程之间的操作顺序问题，以防止大规模场景下的死锁。\n- 修复 Issue https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fissues\u002F1893，这是 GIN 中的一个 bug 修复。","2025-11-10T18:02:42",{"id":187,"version":188,"summary_zh":189,"released_at":190},62691,"v2.28.7-1","## GPU 主动网络 (GIN)\n * 提供设备端 API，用于将 GPU 主动网络功能集成到应用程序内核中。\n * 新的传输层称为 DOCA GPUNetIO。\n * 新的 ncclGin 构造用于创建、销毁和操作 GIN 上下文。\n * 新的 ncclGinBarrierSession 用于提供同步功能。\n * 新增 put、signal 和 counter 操作，用于数据移动和信号传递。\n * GIN API 的签名和功能可能会发生变化。\n * GIN 支持要求：\n   * 编译 GPU 代码时需使用 CUDA 12.2 或更高版本。\n   * NVIDIA GPU：Volta 或更高版本。NVIDIA GPU 驱动程序 ≥ 510.40.3。\n   * NVIDIA 网卡：CX4 或更高版本。rdma-core ≥ 44.0。\n   * 需要 nvidia-peermem 或 DMABUF 支持。使用 DMABUF 时，Linux 内核版本 ≥ 6.1。\n\n## 用于容错的新 ncclCommRevoke API\n * 引入 ncclCommRevoke，可在不释放资源的情况下暂停通信器上正在进行的 NCCL 工作。\n * 这满足了在拆分、缩小、最终化或销毁通信器之前，以轻量级方式取消正在执行的集体通信并使通信器进入安全状态的需求。\n * 包含可选的跨进程协调（全局屏障），并支持阻塞与非阻塞两种使用模式。\n\n## 新的 NCCL 环境插件\n * 该环境插件允许用户设置 NCCL 环境变量，例如从集中式数据库加载后进行设置。\n * 可通过 NCCL_ENV_PLUGIN 变量让 NCCL 加载外部环境插件。\n\n## GitHub 上的全新 NCCL 示例\n * NCCL 示例目录为用户和开发者提供了实用的代码示例，重点展示了 NCCL 的核心功能。\n * 示例涵盖了基本操作，如通信器初始化、点对点通信和集体通信，同时也涉及高级特性，例如用户缓冲区注册、对称内存以及设备 API。\n\n## 设备 API 改进\n * 增加 ncclFindWindow API。\n * 新增 ncclBarrierSession，以提供混合同步功能。\n * 使得多内存功能在仅两个进程的情况下即可使用。\n * 在判断对称内存是否可用时，不再考虑距离因素（NCCL_P2P_LEVEL）。\n\n## 增强的 NCCL RAS 输出\n * 将 RAS 子系统扩展为 JSON 格式，以支持机器可解析的指标收集。\n * 实现结构化数据导出，便于监控工具、仪表盘和自动化分析系统的使用。\n\n## 已解决的 GitHub 拉取请求\n * 快速初始化 - 大规模 NCCL 初始化的 CPU 优化。（PR https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fpull\u002F1789）\n * 快速初始化 - 通过双向发送引导信息，将大规模 AllGather 的启动阶段性能提升 2 倍。（PR https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fpull\u002F1791）\n * 修复 PyTorch 静态链接 NCCL-2.28.3 时出现的误报失败问题，原因是错误未被清空，而是被传播到下一个 CUDA 内核调用中。（PR https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnccl\u002Fpull\u002F1864）\n\n## 其他显著改进","2025-10-18T01:15:37",{"id":192,"version":193,"summary_zh":194,"released_at":195},62692,"v2.28.3-1","更多信息请参阅 [NCCL 2.28.3 发行说明](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fnccl\u002Frelease-notes\u002Frel_2-28-3.html#rel_2-28-3)\n\n## 设备端 API（实验性）\n * 引入设备端 API，可将 NCCL 通信直接集成到应用程序的核函数中。\n * 支持 LSA（加载\u002F存储访问），用于通过 NVLink 和部分 PCIe 平台进行 CUDA 点对点通信。\n * 支持 Multimem，利用 NVLink SHARP 实现硬件组播。\n * 添加了 GIN（GPU 发起的网络）的初始框架，目前仍在开发中。\n * 引入使用 ncclDevCommCreate 创建的设备通信器。\n * 支持带有同步功能的设备端通信操作（ncclLsaBarrierSession）以及内存访问器（ncclGetLsaPointer、ncclGetLsaMultimemPointer）。\n * 这些是实验性 API，其签名和功能可能会在未来的版本中发生变化。\n * 不保证 ABI 兼容性——应用程序必须在每次更新 NCCL 版本时重新编译。\n\n## 对称内存改进\n * 支持使用 ncclGroupStart\u002FEnd API 聚合对称操作。\n * 使用设备端 API 重新实现对称核函数。\n\n## 新的主机 API\n * 引入新的主机集体通信 API：ncclAlltoAll、ncclScatter、ncclGather。\n\n## CE（复制引擎）集体通信\n * 降低单个 (MN)NVL 域内 alltoall、scatter、gather 和 allgather 的 SM 利用率。\n * 释放 SM 资源，使应用程序能够在执行通信的同时进行计算。\n * 要为 ncclAllGather、ncclAlltoAll、ncclGather 和 ncclScatter 启用此功能，需将缓冲区注册到对称窗口，并在通信器 config_t 中设置 NCCL_CTA_POLICY_ZERO 标志。\n\n## NCCL Inspector 插件\n * 引入 Inspector 插件，用于持续性能监控。\n * 生成结构化的 JSON 输出，包含元数据、执行时间、带宽以及每个 NCCL 操作的可选事件跟踪信息。\n * 支持与 Performance Exporter 等分析工具集成，以可视化 NCCL 性能瓶颈。\n * 开销较低，可通过环境变量 NCCL_PROFILER_PLUGIN 和 NCCL_INSPECTOR_ENABLE 启用。\n\n## CMake 支持（实验性）\n * 添加 CMake 构建系统，作为现有 Makefile 的替代方案。\n * 已知问题：pkg.build 和设备端 API 目前无法与 CMake 配合使用。\n * 这些问题将在未来的版本中得到解决。\n\n## Blackwell 上最大 CTA 数量从 32 降至 16\n * 此项改进使 SM 开销降低了 50%。\n * 由于 SM 使用率降低，这可能会导致 Blackwell 上的性能小幅下降。\n * 如果不需要额外的 SM 资源，有两种方法可以恢复到以前的行为：1) 设置环境变量 NCCL_MIN_CTAS=32 和 NCCL_MAX_CTAS=32；2) 在通信器配置中覆盖最大 CTA 数量为 32。\n * 根据社区反馈，未来版本可能会在性能与 SM 开销之间做出不同的权衡。\n\n## 插件\n * 网络\n   * 应用感知网络插件。NCCL 会将待执行的通信操作相关信息传递给 t","2025-10-06T16:21:34"]