通信方式、点对点通信、集合通信
文章目录
- 从硬件PCIE、NVLINK、RDMA原理到通信NCCL、MPI原理!
- 通信实现方式:机器内通信、机器间通信
- 通信实现方式:通讯协调
- 通信实现方式:机器内通信:PCIe
- 通信实现方式:机器内通信:NVLink
- 通信实现方式:机器间通信:RDMA(直连模式)
- 通信协调:软件篇
- 通信协调:软件篇:MPI
- MPI:集合通信
- MPI:进程启动与收发数据顺序:broadcast
- MPI:进程启动与收发数据顺序:gather
- 通信协调:软件篇:NCCL
- 点对点通信、集合式通信
- 分布式训练系统
- 集中式通信方式:一对多 broadcast
- 集中式通信方式:一对多 scatter
- 集中式通信方式:多对一 reduce
- 集中式通信方式:多对一 gather
- 集中式通信方式:多对多 all reduce
- 集中式通信方式:多对多 all gather
- 集中式通信方式:多对多 reduce scatter
- 集中式通信方式:多对多 all to all
从硬件PCIE、NVLINK、RDMA原理到通信NCCL、MPI原理!
通信实现方式:机器内通信、机器间通信
计算机通网络通讯中最重要的两个衡量指标是:带宽、延迟

内存共享:比如 多个应用共享手机里面的同一块内存
PCIe:最明显的方式就是 gpu 与 cpu 之间的通信,大部分都通过之间的PCIe插槽进行的
NVLink(直连模式):GPU 与 GPU 之间进行一个互通

Q:不同机柜之间的GPU的访问,不是通过NVSwitch进行全互联的吗。那这个机器间的通信,都传输什么信息呢?通讯、互传数据、等待和同步相关的问题,这些信息是走什么传输的呢?
---- 如果是NVLink通信的话,它应该还是属于 机器内通信,而不是机器间通讯(TCP/IP、RDMA)
蓝色的线:通过网线进行连接
AI集群里面,可能更多的用到 RDMA 的网络模型通信
通信实现方式:通讯协调

通信实现方式:机器内通信:PCIe

通信实现方式:机器内通信:NVLink

通信实现方式:机器间通信:RDMA(直连模式)


(1)左边的图是TCP/IP,右边的是RDMA
(2)左边的几个蓝色方框,在传递的时候 需要经过好几次的用户的内存拷贝,对大数据执行起来会非常的缓慢,数据量越大的时候,这个延迟是很难去接受的!
(3)而RDMA新的协议,就是用户直接跳过kernel层,直接传到远端的服务器,数据绕过CPU,直接通过RDMA设备,对远端的虚拟内存直接进行访问读和写;
(4)既然是机器间通信,那么不同机器间是通过以太网连接的
(5)Q:RDMA是通过网线连接的吗?

通信协调:软件篇

通信协调:软件篇:MPI



OSI只是一个模型概念,并不提供具体的实现方法。实际上的网络的标准是TCP/IP


MPI:集合通信


MPI:进程启动与收发数据顺序:broadcast

MPI:进程启动与收发数据顺序:gather



优化通信框架的性能,那不就是用到了之前学习到的 二叉树的结构了


通信协调:软件篇:NCCL

(1)对网络拓扑进行一个感知,topo是长什么样子的,回环是怎么组织的
(2)对网络拓扑进行一个搜索,找到一个最好的通信的策略
(3)使能CUDA的kernel 对数据进行通信

点对点通信、集合式通信




分布式训练系统


对模型进行切分,每个服务器又需要相互通信,把一个大的网络模型切分成很多小的网络模型,每个小的网络模型之间是相互依赖的,需要就需要跨节点对数据进行同步
涉及到同步,中间的过程就需要通信,跨节点的通信,跨网络的通信,跨卡的通信;
集中式通信方式:一对多 broadcast
(1)把 NPU0 的数据同步到其他 3 份里面

集中式通信方式:一对多 scatter

集中式通信方式:多对一 reduce

集中式通信方式:多对一 gather

集中式通信方式:多对多 all reduce


集中式通信方式:多对多 all gather

集中式通信方式:多对多 reduce scatter

集中式通信方式:多对多 all to all

假设每个NPU上面都有一个A的数据,A的数据在计算完之后,希望进行通讯,都变成一块卡的数据,再进行聚类处理
相关文章:
通信方式、点对点通信、集合通信
文章目录 从硬件PCIE、NVLINK、RDMA原理到通信NCCL、MPI原理!通信实现方式:机器内通信、机器间通信通信实现方式:通讯协调通信实现方式:机器内通信:PCIe通信实现方式:机器内通信:NVLink通信实现…...
TCP编程
1.socket函数 int socket(int domain, int type, int protocol); 头文件:include<sys/types.h>,include<sys/socket.h> 参数 int domain AF_INET: IPv4 Internet protocols AF_INET6: IPv6 Internet protocols AF_UNIX, AF_LOCAL : Local…...
OpenAI 实战进阶教程 - 第七节: 与数据库集成 - 生成 SQL 查询与优化
内容目标 学习如何使用 OpenAI 辅助生成和优化多表 SQL 查询了解如何获取数据库结构信息并与 OpenAI 结合使用 实操步骤 1. 创建 SQLite 数据库示例 创建数据库及表结构: import sqlite3# 连接 SQLite 数据库(如果不存在则创建) conn sq…...
Apache Iceberg数据湖技术在海量实时数据处理、实时特征工程和模型训练的应用技术方案和具体实施步骤及代码
Apache Iceberg在处理海量实时数据、支持实时特征工程和模型训练方面的强大能力。Iceberg支持实时特征工程和模型训练,特别适用于需要处理海量实时数据的机器学习工作流。 Iceberg作为数据湖,以支持其机器学习平台中的特征存储。Iceberg的分层结构、快照…...
QT交叉编译环境搭建(Cmake和qmake)
介绍一共有两种方法(基于qmake和cmake): 1.直接调用虚拟机中的交叉编译工具编译 2.在QT中新建编译套件kits camke和qmake的区别:CMake 和 qmake 都是自动化构建工具,用于简化构建过程,管理编译设置&…...
Turing Complete-成对的麻烦
这一关是4个输入,当输入中1的个数大于等于2时,输出1。 那么首先用个与门来检测4个输入中,1的个数是否大于等于2,当大于等于2时,至少会有一个与门输出1,所以再用两级或门讲6个与门的输出取或,得…...
寒假刷题Day20
一、80. 删除有序数组中的重复项 II class Solution { public:int removeDuplicates(vector<int>& nums) {int n nums.size();int stackSize 2;for(int i 2; i < n; i){if(nums[i] ! nums[stackSize - 2]){nums[stackSize] nums[i];}}return min(stackSize, …...
deepseek 本地化部署和小模型微调
安装ollama 因为本人gpu卡的机器系统是centos 7, 直接使用ollama会报 所以ollama使用镜像方式进行部署, 拉取镜像ollama/ollama 启动命令 docker run -d --privileged -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 查看ollama 是否启动…...
【Java异步编程】基于任务类型创建不同的线程池
文章目录 一. 按照任务类型对线程池进行分类1. IO密集型任务的线程数2. CPU密集型任务的线程数3. 混合型任务的线程数 二. 线程数越多越好吗三. Redis 单线程的高效性 使用线程池的好处主要有以下三点: 降低资源消耗:线程是稀缺资源,如果无限…...
makailio-alias_db模块详解
ALIAS_DB 模块 作者 Daniel-Constantin Mierla micondagmail.com Elena-Ramona Modroiu ramonaasipto.com 编辑 Daniel-Constantin Mierla micondagmail.com 版权 © 2005 Voice Sistem SRL © 2008 asipto.com 目录 管理员指南 概述依赖 2.1 Kamailio 模块 2.2 外…...
文字显示省略号
多行文本溢出显示省略号...
[LeetCode] 字符串完整版 — 双指针法 | KMP
字符串 基础知识双指针法344# 反转字符串541# 反转字符串II54K 替换数字151# 反转字符串中的单词55K 右旋字符串 KMP 字符串匹配算法28# 找出字符串中第一个匹配项的下标#459 重复的子字符串 基础知识 字符串的结尾:空终止字符00 char* name "hello"; …...
从零开始部署Dify:后端与前端服务完整指南
从零开始部署Dify:后端与前端服务完整指南 一、环境准备1. 系统要求2. 项目结构 二、后端服务部署1. 中间件启动(Docker Compose)2. 后端环境配置3. 依赖安装与数据库迁移4. 服务启动 三、前端界面搭建1. 环境配置2. 服务启动 四、常见问题排…...
springboot中路径默认配置与重定向/转发所存在的域对象
Spring Boot 是一种简化 Spring 应用开发的框架,它提供了多种默认配置和方便的开发特性。在 Web 开发中,路径配置和请求的重定向/转发是常见操作。本文将详细介绍 Spring Boot 中的路径默认配置,并解释重定向和转发过程中存在的域对象。 一、…...
二叉树——429,515,116
今天继续做关于二叉树层序遍历的相关题目,一共有三道题,思路都借鉴于最基础的二叉树的层序遍历。 LeetCode429.N叉树的层序遍历 这道题不再是二叉树了,变成了N叉树,也就是该树每一个节点的子节点数量不确定,可能为2&a…...
Leetcode 3444. Minimum Increments for Target Multiples in an Array
Leetcode 3444. Minimum Increments for Target Multiples in an Array 1. 解题思路2. 代码实现 题目链接:3444. Minimum Increments for Target Multiples in an Array 1. 解题思路 这一题我的思路上就是一个深度优先遍历,考察target数组当中的每一个…...
分享半导体Fab 缺陷查看系统,平替klarity defect系统
分享半导体Fab 缺陷查看系统,平替klarity defect系统;开发了半年有余。 查看Defect Map,Defect image,分析Defect size,defect count trend. 不用再采用klarity defect系统(license 太贵) 也可以…...
Java基础——分层解耦——IOC和DI入门
目录 三层架构 Controller Service Dao 编辑 调用过程 面向接口编程 分层解耦 耦合 内聚 软件设计原则 控制反转 依赖注入 Bean对象 如何将类产生的对象交给IOC容器管理? 容器怎样才能提供依赖的bean对象呢? 三层架构 Controller 控制…...
DeepSeek-R1 本地部署教程(超简版)
文章目录 一、DeepSeek相关网站二、DeepSeek-R1硬件要求三、本地部署DeepSeek-R11. 安装Ollama1.1 Windows1.2 Linux1.3 macOS 2. 下载和运行DeepSeek模型3. 列出本地已下载的模型 四、Ollama命令大全五、常见问题解决附:DeepSeek模型资源 一、DeepSeek相关网站 官…...
Vue3学习笔记-模板语法和属性绑定-2
一、文本插值 使用{ {val}}放入变量,在JS代码中可以设置变量的值 <template><p>{{msg}}</p> </template> <script> export default {data(){return {msg: 文本插值}} } </script> 文本值可以是字符串,可以是布尔…...
MT5中文增强工具多场景落地:保险条款通俗化改写与消费者理解度提升实践
MT5中文增强工具多场景落地:保险条款通俗化改写与消费者理解度提升实践 1. 项目概述与核心价值 MT5中文增强工具是一个基于Streamlit和阿里达摩院mT5模型构建的本地化NLP工具,专门针对中文文本进行语义改写和数据增强。这个工具的最大特点是能够在保持…...
Nunchaku-flux-1-dev在AI编程教学中的应用:代码纠错与优化
Nunchaku-flux-1-dev在AI编程教学中的应用:代码纠错与优化 1. 引言 编程学习过程中,很多初学者都会遇到这样的困境:写出的代码运行报错,却不知道错在哪里;代码虽然能运行,但效率低下、结构混乱࿰…...
破解除密!ncmdumpGUI让你的NCM音乐文件重获自由
破解除密!ncmdumpGUI让你的NCM音乐文件重获自由 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 当你精心收藏的数百首网易云音乐歌曲,在…...
如何用d2s-editor高效管理暗黑破坏神2存档:终极可视化编辑指南
如何用d2s-editor高效管理暗黑破坏神2存档:终极可视化编辑指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor d2s-editor是一款免费开源的Web版暗黑破坏神2存档编辑器,它将复杂的二进制存档文件转化为直…...
OpenClaw+Qwen3.5-4B-Claude:个人知识库自动化更新方案
OpenClawQwen3.5-4B-Claude:个人知识库自动化更新方案 1. 为什么需要自动化知识管理 作为一个每天需要处理大量技术资料的研究者,我发现自己陷入了一个困境:收藏的文章越来越多,但真正消化吸收的内容却越来越少。上周整理笔记时…...
告别黑盒:手把手教你用GDB调试`ipmitool`源码,亲眼看到RAW数据如何发送
从GDB断点到硬件交互:动态追踪ipmitool RAW命令的全链路实现 在服务器管理领域,IPMI协议如同一位沉默的守护者,通过BMC(基板管理控制器)提供着硬件级的监控与控制能力。而ipmitool作为最流行的IPMI命令行工具ÿ…...
Kronos金融市场基础模型:从技术原理到量化交易系统构建
Kronos金融市场基础模型:从技术原理到量化交易系统构建 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos 金融市场的复杂性和波动性一直是投资者…...
5倍效率提升!Marker让PDF转Markdown零格式丢失的全场景指南
5倍效率提升!Marker让PDF转Markdown零格式丢失的全场景指南 【免费下载链接】marker 一个高效、准确的工具,能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式,支持多语言和复杂布局处理,可选集成 LLM 提升精度࿰…...
用Python可视化理解柯西-施瓦茨不等式:从向量内积到函数空间的几何直觉
用Python可视化理解柯西-施瓦茨不等式:从向量内积到函数空间的几何直觉 数学中的不等式往往蕴含着深刻的几何意义,柯西-施瓦茨不等式就是这样一个连接代数与几何的桥梁。对于数据科学和机器学习的学习者来说,理解这个不等式不仅能夯实数学基础…...
深入解析SerialPort:从硬件流控制到实战串口通信
1. 串口通信基础:从水管到数据流 第一次接触串口通信时,我盯着电脑上的COM接口发呆了半小时。这玩意儿看起来就像老式打印机接口,但它却是连接硬件世界的魔法通道。串口通信就像用一根水管在两个水桶之间传递水,只不过我们传递的…...
