首页
学习
活动
专区
圈层
工具
发布
综合排序最热优先最新优先
时间不限
了解集合通信与模型并行策略
集合通信集合通信基础了解通信相关术语:图片了解常见网络拓扑结构:典型拓扑结构优缺点了解场景硬件架构图:1.A+K(8P):图片通过HCCS实现两两互联(Full Mesh),如NPU与NPU之间,CPU 在Full Mesh网络中,任何两个节点之间都可以直接通信。 2.A+X(16P):双mesh组网(8P Full-mesh)集合通信原语一对多Broadcast:将通信域内root节点的数据广播到其他rank图片 Scatter:将通信域内root节点的数据均分并散布至其他 那就将它的参数进一步切分到多个节点上,每个节点计算部分结果,再通过通过节点间的通信获取到最终结果,这就是张量并行。简言之,流水并行是模型的层间切割,而张量并行是模型的层内切割。 参考资料通信基础概述HCCL集合通信库深度学习的分布式训练与集合通信(一)深度学习的分布式训练与集合通信(二)深度学习的分布式训练与集合通信(三)典型拓扑结构优缺点
用户11450961
2025-06-24
5170
标签:
【EventBus】事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )
文章目录 前言 一、订阅类-订阅方法缓存集合 二、事件类型-订阅者集合 三、订阅对象-事件类型集合 前言 首先声明几个数据结构 , 参考 【EventBus】EventBus 源码解析 ( 注册订阅者总结 | 从封装的数据结构角度分析 EventBus ) 博客 , 仿 EventBus , 设置几个重要的集合 ; 一、订阅类-订阅方法缓存集合 ---- METHOD_CACHE 作用仅用于作为订阅方法的缓存类 >, List<MySubscriberMethod>> METHOD_CACHE = new HashMap<>(); 二、事件类型-订阅者集合 ---- 事件类型-订阅者集合 : Map<Class ; 在构造函数中初始化该集合 ; CopyOnWriteArrayList 在写入数据时会拷贝一个副本 , 写完之后 , 将引用指向新的副本 , 该集合的线程安全级别很高 ; 该集合的重要作用就是进行消息转发 >, CopyOnWriteArrayList<MySubscription>> subscriptionsByEventType; 三、订阅对象-事件类型集合 ---- 订阅对象-事件类型集合 : Map
韩曙亮
2023-03-29
1.7K0
标签:
MNNVL(Multi-Node NvLink)、NCCL超节点集合通信
前言NCCL、ACCL等集合通信库发展的早期,并没有超节点(SuperNode/SuperPod)的概念,这些集合通信库是如何支撑超节点集合通信的? 哈哈哈,本文分享:1、什么是超节点2、非超节点的传统集合通信3、超节点集合通信 哈哈哈,针对本文的部分视频说明:MNNVL 超节点集合通信初识、NCCL、SuperPod、SuperNode,scale-up 二、非超节点的传统集合通信哈哈哈,浅浅回顾一下非超节点的集合通信集合通信早期没有超节点,集合通信也相对简单点。2.1 拓扑识别非超节点的传统集合通信拓扑识别核心流程如图3所示。 2.2 集合通信算法传统非超节点集合通信,由于节点内NvLink/AccLink的通信延迟带宽性能远高于跨服务器的网卡通信,因此集合通信算法严格区分节点内和节点间通信。 三、超节点集合通信超节点出现后,集合通信的整个框架都做了相应修改和调整。今天呢,我们初步了解一下其中一部分内容。
爱串门的小马驹
2025-11-30
1.2K0
标签:
Nvidia-NCCL-GPU集合通信接口简介_源码笔记
术语nccl: NVIDIA Collective Communications Library (NCCL) 集合通信接口常用链接NCCL开发者文档: https://developer.nvidia.com docs.nvidia.com/deeplearning/nccl/user-guide/docs/index.html项目主页: https://github.com/NVIDIA/nccl介绍针对 GPU 间通信的优化原语 NCCL(发音为“Nickel”)是 GPU 标准通信例程的独立库,可实现全归约、全收集、归约、广播、归约分散以及任何基于发送/接收的通信模式。 )的实现了单边读写和双边发送/接收通信语义, 以此来满足GPU间高性能和高带宽通信, 满足AI大模型训练中的数据传输RDMA调用栈-QP建连:ncclResult_t ncclIbCreateQp )的实现了单边读写和双边发送/接收通信语义, 以此来满足GPU间高性能和高带宽通信, 满足AI大模型训练中的数据传输 晓兵(ssbandjl)博客: https://cloud.tencent.com/
晓兵
2023-11-25
3.6K0
标签:
如何破解GPU集群集合通信路径的“黑盒”难题?
AI大模型时代的通信挑战近年来,AI大模型训练对算力的需求呈指数级增长。 在典型的智算集群中,GPU服务器通过NVIDIA NCCL(Collective Communication Library)等集合通信库实现跨节点数据同步,同时结合RDMA(如RoCE)网络技术降低传输延迟 然而,随着集群规模扩大和网络拓扑复杂化,通信链路拥塞、路径选择不当等问题频发,导致训练性能波动甚至中断。更棘手的是,集合通信库(如NCCL、HCCL)的运行细节用户完全无感知,形成“黑盒”状态。 EPS通过实时解析集合通信库的底层运行状态,将隐蔽的通信路径、GPU与网卡状态等信息可视化,并提供智能路由推荐,帮助用户快速优化集群性能。EPS的三大核心功能1. 未来,随着智算集群规模的持续扩大,集合通信的自动化与智能化将成为刚需。我们将持续迭代EPS功能,探索与Kubernetes、SLURM等调度系统的深度集成,进一步释放硬件算力潜能。
星融元Asterfusion
2025-05-22
5320
标签:
【Kotlin】集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )
通过解构一次性给多个元素赋值 八、Set 集合 九、可变 Set 集合 十、List 与 Set 之间相互转换 十一、数组类型 十二、Map 集合 十三、获取 Map 值 十四、Map 遍历 十五、可变 Map 集合 一、List 创建与元素获取 ---- Kotlin 中的集合分为两类 , 只读集合 和 可变集合 ; 调用 listOf 函数 , 可以 直接创建 List 集合 ; 通过 [] 下标可以 : Tom 二、安全获取集合元素 ---- 除了使用 [] 下标获取 List 集合元素外 , Kotlin 还提供了 安全获取集合元素的 方法 : getOrElse 和 getOrNull 函数 ---- 使用 listOf 函数 创建的 List 集合 是 只读列表集合 ; 使用 mutableListOf 函数 创建的 MutableList 集合 是 可变列表集合 ; 调用 MutableList #toList 函数 , 可以 将 可变列表集合 转为 只读列表集合 ; 调用 List#toMutableList 函数 , 可以 将 只读列表集合 转为 可变列表集合 ; 代码示例 : fun main
韩曙亮
2023-03-30
7.9K0
标签:
集合论】集合概念与关系 ( 集合表示 | 数集合 | 集合关系 | 包含 | 相等 | 集合关系性质 )
文章目录 一、 集合论体系 二、 集合表示 三、 数集合 三、 集合关系 1、 包含关系 2、 相等关系 3、 集合间包含关系性质 一、 集合论体系 ---- 集合论体系 : 朴素集合论 : 包含悖论 ; 朴素集合论 中 不能精确定义集合 ; 公理集合论 : 为了消除朴素集合论中的悖论 , 所建立的公理集合论 ; 公理集合论比较严密 , 通过一组公理描述什么是集合 ; 二、 集合表示 ---- 集合表示 : 使用 大写字母 表示集合 , 小写字母 表示集合中的元素 ; 列举法 : 列举出集合中的所有元素 , 元素之间使用逗号分开 , 使用花括号 “{}” 括起来 ; 如 : A = \{0, 1, : 不重复 : 集合中 不能有重复元素 ; 无顺序 : 集合中的元素是 无序的 ; 集合表示方法转化 : 集合的表示方法可以互相转化 , 描述法 和 列举法 可以互相转化 ; 表示方法转化示例 : 列举法 , 1 , 2 , \cdots \} 整数集合 : Z = \{ 0, \pm 1 , \pm 2 , \cdots \} 有理数集合 : Q 实数集合 : R 复数集合 : C 三、 集合关系
韩曙亮
2023-03-28
3.3K0
标签:
Java集合:Set集合
HashMap的key的集合,然后HashMap的val默认都是PRESENT。 TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0 TreeSet集合:可以对Set集合中的元素进行排序。是不同步的。 但是TreeSet集合的存储是有序的,即:存储到集合中的元素是按自然顺序存储的。 判断元素唯一性的方式: 根据比较方法的返回值来判断。是0(零)就存入集合,不是0就不存。 因为Set集合是不能有重复的元素,无序。 也就是说,当遍历LinkedHashSet集合里元素时,HashSet将会按元素的添加顺序来访问集合里的元素。
栗筝i
2022-12-01
2.3K0
标签:
Java集合:List集合
List集合 List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。 List集合里添加了一些根据索引来操作集合元素的方法 一、ArrayList ArrayList是List接口的典型实现类,本质上,ArrayList是对象引用的一个变长数组。 Arrays.asList(…)返回值是一个固定长度的 List 集合。 subList(int index, int index) 方法是在给定的ArrayList集合中获取给定下标的子集合。注意范围是[)。 三、Vector Vector 可实现自动增长的对象数组。 在Enumeration中封装了有关枚举数据集合的方法。   方法 hasMoreElement() 来判断集合中是否还有其他元素。 ​
栗筝i
2022-12-01
2.6K0
标签:
Java集合:Map集合
注意:Map中的集合不能包含重复的键,值可以重复。每个键只能对应一个值。 Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值。 V put(K key, V value); //向集合保存数据可选操作)。 Set<Map, Entry<K, V>> entrySet(); //即将Map集合转化为Set集合。 (即先找到丈夫,再去找妻子) keySet的演示图解 (二)entrySet 先获取map中的键值关系封装成一个个的entry对象, 存储到一个Set集合中,再迭代这个Set集合, 根据entry获取对应的 可以对Map集合中的键进行排序。 五、HashMap
栗筝i
2022-12-01
2.8K0
标签:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档