首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 了解集合通信与模型并行策略

    集合通信集合通信基础了解通信相关术语:图片了解常见网络拓扑结构:典型拓扑结构优缺点了解场景硬件架构图: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集合通信库深度学习的分布式训练与集合通信(一)深度学习的分布式训练与集合通信(二)深度学习的分布式训练与集合通信(三)典型拓扑结构优缺点

    25700编辑于 2025-06-24
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )

    文章目录 前言 一、订阅类-订阅方法缓存集合 二、事件类型-订阅者集合 三、订阅对象-事件类型集合 前言 首先声明几个数据结构 , 参考 【EventBus】EventBus 源码解析 ( 注册订阅者总结 | 从封装的数据结构角度分析 EventBus ) 博客 , 仿 EventBus , 设置几个重要的集合 ; 一、订阅类-订阅方法缓存集合 ---- METHOD_CACHE 作用仅用于作为订阅方法的缓存类 >, List<MySubscriberMethod>> METHOD_CACHE = new HashMap<>(); 二、事件类型-订阅者集合 ---- 事件类型-订阅者集合 : Map<Class ; 在构造函数中初始化该集合 ; CopyOnWriteArrayList 在写入数据时会拷贝一个副本 , 写完之后 , 将引用指向新的副本 , 该集合的线程安全级别很高 ; 该集合的重要作用就是进行消息转发 >, CopyOnWriteArrayList<MySubscription>> subscriptionsByEventType; 三、订阅对象-事件类型集合 ---- 订阅对象-事件类型集合 : Map

    1.4K20编辑于 2023-03-29
  • 来自专栏RDMA

    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的通信延迟带宽性能远高于跨服务器的网卡通信,因此集合通信算法严格区分节点内和节点间通信。 三、超节点集合通信超节点出现后,集合通信的整个框架都做了相应修改和调整。今天呢,我们初步了解一下其中一部分内容。

    45910编辑于 2025-11-30
  • 来自专栏daos

    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/

    3K02编辑于 2023-11-24
  • 来自专栏智算中心网络

    如何破解GPU集群集合通信路径的“黑盒”难题?

    AI大模型时代的通信挑战近年来,AI大模型训练对算力的需求呈指数级增长。 在典型的智算集群中,GPU服务器通过NVIDIA NCCL(Collective Communication Library)等集合通信库实现跨节点数据同步,同时结合RDMA(如RoCE)网络技术降低传输延迟 然而,随着集群规模扩大和网络拓扑复杂化,通信链路拥塞、路径选择不当等问题频发,导致训练性能波动甚至中断。更棘手的是,集合通信库(如NCCL、HCCL)的运行细节用户完全无感知,形成“黑盒”状态。 EPS通过实时解析集合通信库的底层运行状态,将隐蔽的通信路径、GPU与网卡状态等信息可视化,并提供智能路由推荐,帮助用户快速优化集群性能。EPS的三大核心功能1. 未来,随着智算集群规模的持续扩大,集合通信的自动化与智能化将成为刚需。我们将持续迭代EPS功能,探索与Kubernetes、SLURM等调度系统的深度集成,进一步释放硬件算力潜能。

    32410编辑于 2025-05-22
  • 来自专栏韩曙亮的移动开发专栏

    【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

    7.6K20编辑于 2023-03-30
  • 来自专栏韩曙亮的移动开发专栏

    集合论】集合概念与关系 ( 集合表示 | 数集合 | 集合关系 | 包含 | 相等 | 集合关系性质 )

    文章目录 一、 集合论体系 二、 集合表示 三、 数集合 三、 集合关系 1、 包含关系 2、 相等关系 3、 集合间包含关系性质 一、 集合论体系 ---- 集合论体系 : 朴素集合论 : 包含悖论 ; 朴素集合论 中 不能精确定义集合 ; 公理集合论 : 为了消除朴素集合论中的悖论 , 所建立的公理集合论 ; 公理集合论比较严密 , 通过一组公理描述什么是集合 ; 二、 集合表示 ---- 集合表示 : 使用 大写字母 表示集合 , 小写字母 表示集合中的元素 ; 列举法 : 列举出集合中的所有元素 , 元素之间使用逗号分开 , 使用花括号 “{}” 括起来 ; 如 : A = \{0, 1, : 不重复 : 集合中 不能有重复元素 ; 无顺序 : 集合中的元素是 无序的 ; 集合表示方法转化 : 集合的表示方法可以互相转化 , 描述法 和 列举法 可以互相转化 ; 表示方法转化示例 : 列举法 , 1 , 2 , \cdots \} 整数集合 : Z = \{ 0, \pm 1 , \pm 2 , \cdots \} 有理数集合 : Q 实数集合 : R 复数集合 : C 三、 集合关系

    2.9K00编辑于 2023-03-28
  • 来自专栏迁移内容

    Java集合:Set集合

    HashMap的key的集合,然后HashMap的val默认都是PRESENT。 TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0 TreeSet集合:可以对Set集合中的元素进行排序。是不同步的。 但是TreeSet集合的存储是有序的,即:存储到集合中的元素是按自然顺序存储的。 判断元素唯一性的方式: 根据比较方法的返回值来判断。是0(零)就存入集合,不是0就不存。 因为Set集合是不能有重复的元素,无序。 也就是说,当遍历LinkedHashSet集合里元素时,HashSet将会按元素的添加顺序来访问集合里的元素。

    2.1K20编辑于 2022-12-01
  • 来自专栏迁移内容

    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

    2.5K20编辑于 2022-12-01
  • 来自专栏迁移内容

    Java集合:List集合

    List集合 List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。 List集合里添加了一些根据索引来操作集合元素的方法 一、ArrayList ArrayList是List接口的典型实现类,本质上,ArrayList是对象引用的一个变长数组。 Arrays.asList(…)返回值是一个固定长度的 List 集合。 subList(int index, int index) 方法是在给定的ArrayList集合中获取给定下标的子集合。注意范围是[)。 三、Vector Vector 可实现自动增长的对象数组。 在Enumeration中封装了有关枚举数据集合的方法。   方法 hasMoreElement() 来判断集合中是否还有其他元素。 ​

    2.3K20编辑于 2022-12-01
  • 来自专栏韩曙亮的移动开发专栏

    【Python】集合 set ① ( 集合定义 | 集合特点 | 代码示例 - 集合定义 )

    " , 集合 数据容器 中的元素 不能重复 ; 二、集合定义 集合 使用 大括号 {} 进行定义 ; 定义 集合 数据容器 字面量 ; 如果其中有重复元素 , 会自动删除前面的重复元素 , 保留最后一个元素 ; {元素1, 元素2, 元素3} 定义 集合 数据容器 变量 ; 如果其中有重复元素 , 会自动删除前面的重复元素 , 保留最后一个元素 ; 集合变量 = {元素1, 元素2, 元素3} 定义 空集合 ; 元组 : 使用 小括号 () 定义 ; 字符串 : 使用 双引号 "" 定义 ; 集合 : 使用 大括号 {} 定义 ; 三、代码示例 - 集合定义 在下面的集合中 , 分别定义了 集合字面量 / 集合变量 / 空集合 ; 其中定义集合变量时 , 定义了两个重复元素 ‘Tom’ 字符串 , {"Tom", "Jerry", "Jack", "Tom"} 由于 集合 数据容器中的元素 不能重复 , ", "Jerry", "Jack"} # 定义集合变量 names = {"Tom", "Jerry", "Jack", "Tom"} # 上述集合中有两个 Tom 字符串, 由于 集合 不能重复,

    41040编辑于 2023-10-11
  • 来自专栏韩曙亮的移动开发专栏

    【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )

    文章目录 一、集合概念 二、集合表示 三、常用的数集合 四、集合的表示 一、集合概念 ---- 集合概念 : 具有某种 特定性质 具体的 或 抽象的 对象 汇集的 总体 ; 上述概念中的 " 对象 “ 又称为 ” 集合元素 " ; 二、集合表示 ---- 集合 通常使用 大写字母 \rm S , T , A , B , X , Y 表示 ; 集合元素 使用 小写字母 \rm s , t , a \rm x \notin S ; 三、常用的数集合 ---- 自然数集合 : \rm N = \{0,1,2,⋯\} 正整数集合 : \rm N^+ = \{1,2,3,⋯\} 整数集合 : 实数集合 : \rm R 复数集合 : \rm C 四、集合的表示 ---- 集合的表示 : 枚举法 : 枚举出集合中的所有元素 , 元素之间使用逗号分开 , 使用花括号 “{}” 括起来 ; rm \{ b , a \} 是 相同的集合 ; 集合中的 重复元素没有意义 , 因此有 \rm \{ a, b \} = \{ b , a \} = \{ a, a, b \} , 即使集合

    1.9K10编辑于 2023-03-30
  • 来自专栏RDMA

    Simple、LL、LL128三种集合通信协议,NCCL源码介绍

    视频教程在这:集合通信协议LL、LL128、simple出现原因? NCCL源码解读介绍_哔哩哔哩_bilibili三种通信协议:Simple、LL、LL128LL:L(ow)L(atency)协议优化NCCL小数据量传输,小数据量情况下,打不满传输带宽时,优化点同步带来的延迟 低延迟,8字节原子存储(LL):提供低延迟的通信,原子存储操作使用8字节。LL128:L(ow)L(atency)128协议依赖硬件(NVLink)实现。 为啥会出现这三种集合通信协议呢?哈哈哈,直接看视频和ppt 集合通信协议LL、LL128、simple出现原因?NCCL源码解读介绍_哔哩哔哩_bilibiliNCCL Simple、LL、LL128

    36710编辑于 2025-10-07
  • 来自专栏全栈程序员必看

    python集合_python集合交集

    一、集合 1.1:集合的特性 集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重 1.2:集合的格式 格式1:变量名=set(元素,元素) 格式2:变量名={元素,元素… } 注意:下面写法为一个空字典,为空默认是字典,如果有数据在根据格式判断为字典还是集合 name={} 1.3:添加元素 方式一:add 案例: nums = {11,24,45,96,28 如果集合没有元素程序报错 案例:有元素 nums = {11,24,45,96,28} nums.pop() print(nums) #{11, 45, 24, 28} 案例: tom”,”haha”} set2 = {“jack2″,”susala”} set3= set1 & set2 print(set3) #set() 1.5.2:并集 使用|连接多个集合 ,得到全部集合中全部的元素 案例: set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} new_set = set1 | set2 print(new_set)

    1.4K20编辑于 2022-11-17
  • 来自专栏爬虫逆向案例

    Python 集合集合运算

    本教程将向你介绍一些关于 Python 集合集合论的话题: 如何初始化空集和带有数值的集合 如何向集合中添加值或者从集合中删除值 如何高效地使用集合,用于成员检测、从列表中删除重复值等任务。 如何执行常见的集合操作,例如求并集、交集、差集以及对称差。 可变集合和不可变集之间的区别 集合初始化 集合是一个拥有确定(唯一)的、不变的的元素,且元素无序的可变的数据组织形式。 向集合添加值或删除值 你可以使用「add」方法向集合中添加一个值。 从集合中删除值 有好几种方法可以从集合中删除一个值: 选项 1:你可以使用「remove」方法从集合中删除一个值。 集合运算方法 Python 中常用的集合方法是执行标准的数学运算,例如:求并集、交集、差集以及对称差。下图显示了一些在集合 A 和集合 B 上进行的标准数学运算。 集合推导式和它们是很类似的,Python 中的集合推导式可以按照下面的方法构造: 不可变集 嵌套集合的问题在于,集合中通常不能包含集合等可变的值。

    1.6K20发布于 2021-11-22
  • 来自专栏kwai

    Java集合(五) Set集合

    实现SortedSet接口,对集合元素自动排序。 元素对象的类型必须实现Comparable接口,指定排序规则。 通过CompareTo方法确定是否为重复元素。

    77350编辑于 2022-01-10
  • 来自专栏只为你下

    Guava集合--新集合类型

    Guava引入了很多JDK没有的、但我们发现明显有用的新集合类型。这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念。 作为一般规则,Guava集合非常精准地遵循了JDK接口契约。 返回的集合包含所有之前映射到K的值。 返回的集合包含所有之前映射到K的值。 为此Guava提供了一个新的集合类型-Table集合类型,来支持这种数据结构的使用场景。Table支持“row”和“column”,而且提供多种视图。

    1.3K20发布于 2020-07-17
  • 来自专栏生信喵实验柴

    集合

    一、创建集合 创建集合使用{}或set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。 ; 集合数据是无序的,故不支持下标 二、集合常见操作方法 2.1 增加数据 add() s1 = {10, 20} s1.add(100) s1.add(10) print(s1) # {100, 10, 20} 因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。 :判断数据不在集合序列 s1 = {10, 20, 30, 40, 50} print(10 in s1) print(10 not in s1) 三、总结 创建集合 s1 = {数据1, 数据2, s1 = set() 无数据集合 有数据集合 常见操作 remove() discard() add() update() 增加数据 删除数据 写在最后:有时间我们会努力更新的。

    25320编辑于 2023-09-18
  • 来自专栏别先生

    Hibernate之集合映射的使用(Set集合映射,list集合映射,Map集合映射)

    :重点消化            name指定要映射的set集合的属性            table集合属性要映射的表            key指定集合表(t_address)的外键字段             element指定集合表的其他字段 type元素类型,一定要指定   (2)List集合属性的映射                 name指定要映射的list集合的属性 映射                 name指定要映射的map集合的属性                 table集合属性要映射的表   key指定集合表(t_addressMap -- 16 set集合属性的映射:重点消化 17 name指定要映射的set集合的属性 18 table集合属性要映射的表 -- 30 List集合属性的映射 31 name指定要映射的list集合的属性 32 table集合属性要映射的表

    3.6K100发布于 2018-01-02
  • 来自专栏明明如月的技术专栏

    集合

    boolean remove(Object obj);//在集合中移除一个元素 public boolean contains(Object obj);//判断一个obj是否属于这个集合 public Set set);//求两个集合的并集并返回 public Set intersection(Set set);//求两个集合的交集 public void clear();//清空所有元素 * @param 待合并的集合 * @return 返回合并后的集合 */ @Override public Set union(Set set) { //初始化一个 链表类型的集合 Node tempLinkedSetPointer = tempLinkedSet.getHead(); //先将本集合 写入合并后的集合里 //循环当前集合 while(tempNode.getNext = (LinkedSet) set;//将欲合并的集合强转为链表类型的集合 LinkedSet tempLinkedSet = new LinkedSet();//新集合用来存放交集

    50720发布于 2021-08-27
领券