- 博客(1213)
- 资源 (45)
- 问答 (15)
- 收藏
- 关注
原创 【工具】开发工具红黑榜 (TCP测试/HTTP测试/SHELL工具/串口工具……)
SSH工具FinalShell (shell+文件传输+远程桌面)SSH/串口 工具MobaXtermXshell (缺点:收费)TCP/UDP测试工具红:USR-TCP232-Test(功能强大)http://www.usr.cn/Download/27.htmlSocketTool.exe (缺点:没有日志功能,点击发送后发送框内的数据被清除)灰:T............
2020-01-09 20:57:39
6177
4
翻译 【翻译】在多GPU上利用动态In-Switch计算加速MoE
混合专家模型(MoE)已被许多领先的大模型采用,以降低计算需求。然而,MoE专家并行(EP)中频繁的GPU间通信成为了性能挑战。我们观察到MoE中存在大量的冗余GPU间数据传输,这有望通过in-switch计算来解决。不幸的是,现有的解决方案NVLink SHARP(NVLS)仅能支持具有规则模式的静态集合通信,无法处理MoE中具有不规则模式的动态通信。
2026-07-07 22:58:32
38
原创 大模型训练并行技术理解-DP/TP/PP/SP/EP
统一设定:GPU = 厨师,完整模型 = 全套做菜菜谱,训练样本 = 客人订单,张量 / 激活 = 半成品食材,梯度 = 口味修正意见,高速互联 xGMI/NVLink = 厨师间快速传菜通道。需要熬一锅巨型酱汁,一个人处理不完,4 位厨师同时协作制作这一锅酱汁,每人只负责一半配料。订单太多,把客人分成 4 批:厨师 1 做第 1 批客人,厨师 2 做第 2 批,各自独立从头做到尾。把做菜步骤拆开,每人只干固定一步: 厨师 1:只切肉 厨师 2:只炖肉 厨师 3:只调酱汁 厨师 4:只装盘。
2026-07-05 18:16:32
314
原创 【CUDA】MNNVL和NVLS的关系
MNNVL = 多节点 NVLink 组网(路)NVLS = NVLink 网络上的硬件卸载(加速器)关系:NVLS 运行在 MNNVL 构建的 NVLink Fabric 之上,是 MNNVL 的增强特性。subgraph A [多节点NVLink集群]Node1[GPU节点1] --- NVSwitch_Fabric[NVSwitch Fabric<br>跨节点NVLink全连接] --- Node2[GPU节点2]endsubgraph B [NVLS加速层]
2026-06-08 21:09:11
274
原创 【AMD】HDP(Host Data Path)是什么
1. HDPHDP =,是 AMD GPU 内部的一个硬件单元,而不是夹在 HCA/CPU 和 GPU 中间的独立桥。它的职责是处理"host 或 PCIe peer 访问 GPU 显存(HBM)"这条路径。HDP 就在 GPU 芯片内部、PCIe 接口和显存之间,是 HCA/CPU 直访显存的专用 “门 / 桥”。提供 HCA/CPU<-> GPU 显存的直接访问通路,让 HCA/CPU 能通过PCI BAR地址空间,直接读 / 写 GPU 的 VRAM,不用走复杂 DMA 或驱动拷贝。
2026-05-28 18:07:38
446
原创 【超节点】HSA跨节点直接访存的原理
前两个概念不难理解,简单来说就是路修宽点(大带宽),车跑快点(低时延),最核心、最难实现的恰恰是“内存统一编址”:目标是构建一个全局唯一的虚拟地址空间,集群内所有芯片的内存资源被映射成一张巨大的地图,不管数据是在自己的显存里,还是在隔壁机柜的内存里,对于计算单元来说,只是一个地址的区别。HySwitch驱动做的是同样的事,只是范围扩展到了跨节点。HySwitch做的是内存地址级别的路由,路由的地址是物理地址还,超节点上每个节点上的 GPU 卡的物理地址会不会与其他节点的物理地址冲突?
2026-05-26 08:52:33
494
原创 【RDMA】CST=Consistency at Target(目标端一致性操作)
说人话:CST 就是本地显卡往别的显卡内存里发数据、做修改,数据走网卡、线路传输,不会立马稳稳落到对方显存里,还可能先后顺序乱掉。CST 的作用:把前面所有发出去的写入、数据改动,全部从缓存规整送达目标显卡内存。做完这步收尾后,对方显卡再去读取数据、判断信号、等待任务时,拿到的一定是最新数据,不会读到因新数据滞留缓存未落地覆盖,残存在目标显存地址上的旧数据、残缺数据。划定操作边界,保障 CST 前后操作逻辑有序,规避传输延迟引发的数据异常。
2026-05-22 20:22:22
419
原创 【GDR】 GPU内存和VMM 的RDMA 内存注册|nvidia-peerme
是 NVIDIA 提供的 Linux 内核模块(),核心作用是,让 网卡无需经过主机内存,能直接对 GPU 显存做 RDMA 读写,是的关键组件。
2026-05-20 18:51:06
459
原创 【CUDA】store/load普通访存 vs 非临时(Non-Temporal)访存
普通 flag 循环:走 cache、强一致、延迟高,适合通用通信。非临时访存:绕 cache、无一致、低延迟高吞吐,专为 VMM 跨卡 ping-pong 极限性能测试设计。Core├───默认路径:Core → L1 → L2 → L3 → 主存(带缓存、带一致性)└───非临时路径:Core → 内存控制器 → 主存(绕开L1/L2,不驻留)
2026-05-15 19:51:35
417
原创 【NCCL】NCCL Inspector + Prometheus对NCCL实时监控与快速调试
介绍了 NCCL Inspector 离线模式。尽管细粒度分析仍是深入分析数据的标准方式,但本文介绍了一项新功能——实时监控。现在,通过将 NCCL Inspector 与 Prometheus Exporter 集成,用户可以直接在其基础设施仪表板中生成实时的时间序列可视化图表。
2026-05-08 18:01:19
551
原创 【GPUDirect 】GPUDirect RDMA (GDR)、GPUDirect Async (GDA)技术是什么?GPUDirect 家族
存储→GPU数据路径减少CPU拷贝开销,I/O延迟降低40%+HPC、AI大规模数据加载。
2026-04-20 00:19:17
624
翻译 【CUDA】NVbandwidth:测量 GPU 互连和内存性能的必备工具
NVbandwidth 是一款基于 CUDA 的工具,它可通过复制引擎(CE)或内核复制两种方式(copy engine (CE) or kernel copy methods.),测量不同链路下各类内存复制模式的带宽与延迟。该工具会报告你当前系统的实测带宽,让你深入了解 GPU 配置的性能特征。尽管现代 GPU 具备出色的计算能力,但其性能往往受限于不同设备间的数据传输速度。CPU 内存到 GPU 内存GPU 内存到 CPU 内存GPU 内存到 GPU 内存评估系统性能测量内存访问延迟。
2026-04-19 23:55:18
252
原创 【NVSHMEM】PCIe 距离类型(PIX,PXB,PHB,NOD,SYS)和判断
PATH_PIX(0): 相同设备,最优PATH_PXB(1): 通过 PCIe 交换机连接PATH_PHB(2): 通过 Host 桥接PATH_NODE(3): 同一 NUMA 节点PATH_SYS(4): 跨系统,最差通过比较 PCIe 路径字符串的公共前缀长度判断距离。
2026-03-11 22:09:59
582
原创 【nvshmem】nvshmem中的DMA buf是什么?
dma-buf 目的:解决各个驱动之间 buffer 零拷贝共享的问题。dma-buf是 fd + buffer 的结合体,fd 用于标识和管理 buffer,同时 控制访问权限,buffer 是实际的内存区域。buf由设备驱动预先分配并导出,与一个 FD 结对,形成一个 DMA BUF。使用者可以通过 FD 符将 buf 映射到自己的地址空间,从而实现buf的访问。(说明,1: 这个 buffer可能属于不同设备(如 GPU 显存、网卡 DMA 区域),而不仅是 CPU 内存。
2026-02-28 18:46:06
819
原创 【工具】docx/word转MD:Pandoc
将文件从一种标记格式转换为另一种格式(比如 html 和 markdown等标记语言),它可以将文档在 Markdown、LaTeX、reStructuredText、HTML、Word docx 等多种标记格式之间相互转换,并支持输出 PDF、EPUB、HTML 幻灯片等多种格式。先指定输入/输出格式-f-t)→指定输出文件-o)→补充样式/结构参数-s--toc-f-t-o-s--toc,其余参数按需使用;复杂需求(如自定义样式、批量配置)可通过--defaults实现,减少重复输入参数。
2026-02-27 18:12:54
1393
原创 【NCCL】NCCL通信协议:Simple, LL, LL128
摘要:NCCL提供了Simple、LL和LL128三种通信协议,针对不同数据规模优化传输效率。Simple协议采用连续缓冲区设计,有效载荷接近100%,适合大消息传输;LL协议通过内嵌flag实现低延迟,但有效载荷仅50%,适合小消息;LL128协议在两者间取得平衡,有效载荷达93.75%,适合中等消息。协议选择由NCCL自动完成,考虑硬件拓扑和消息大小,也可通过环境变量强制指定。不同协议在缓冲区布局和同步机制上存在差异,分别优化吞吐量、延迟或两者平衡。
2026-02-26 18:01:58
932
原创 【RCCL】RCCL工具
普通监控工具只能告诉你“这辆车跑完一圈用了多少秒”。NPKit则能告诉你“在第三个弯道的入弯阶段,左后轮胎的抓地力在第 3.5 秒到 3.8 秒之间出现了微小的波动,导致速度下降了 0.2%”。
2026-02-25 20:34:43
1125
原创 【RDMA】rdma指令
工具包的一部分,主要用于管理 RDMA(Remote Direct Memory Access)设备。man rdma # 查看完整手册。# 显示 CM(连接管理器)ID。# 显示 CQ(完成队列)# 显示 MR(内存区域)# 显示 PD(保护域)# 显示 QP(队列对)# 尝试不同的输出格式。# 显示特定设备的资源。# 尝试其他资源类型。
2026-01-28 21:48:35
855
原创 【RDMA】infiniband IB 流控机制
IB 的拥塞控制机制,本质是一场从 “被动丢包补救” 到 “主动流量驾驭” 的技术革新。它通过交换机的 “早期检测”、“精准标记”,HCA 的 “快速反应”、“动态调节”,以及 ECN 与信用流控的协同支撑,构建起一套覆盖 “端 - 网 - 端” 的精细化闭环系统。这套系统的价值,在高性能场景中体现得淋漓尽致:在 AI 训练集群中,它能让 All-Reduce 操作的吞吐量保持在理论带宽的 90% 以上,延迟波动控制在 1 微秒以内,确保数千块 GPU 的协同训练高效稳定;
2026-01-15 21:50:39
1293
原创 【RDMA】infinband诊断工具infiniband-diags和ibutils2
在某个节点上启动 OpenSM(通常选择一台服务器) sudo systemctl start opensm # 或者 sudo /usr/sbin/opensm -F --report_rate 20。大部分这些工具是专为原生 InfiniBand(IB)设计的,在 RoCE(RDMA over Converged Ethernet)环境下无法直接使用,或功能受限。perfquery -C mlx5_2 -x -P 1 #扩展计数器(显示详细流量统计)
2026-01-15 21:20:26
1085
原创 【deepEP】什么是 MoE(混合专家模型)|deepEP
专家”不是 GPU,而是 MoE(混合专家模型)中的专家子网络,GPU 是承载这些专家的计算设备。专家(Expert):是 MoE 模型中的子网络模块(比如独立的前馈网络 FFN),每个专家负责处理特定类型的任务 / 数据(比如 “数学专家”“代码专家”)。GPU:是硬件设备,多个专家会被分配到不同的 GPU 上(通过 “专家并行” 策略),一个 GPU 可以承载多个专家,一个专家也可以部署在单个 GPU 上。举个例子:图中。
2026-01-05 08:58:57
898
原创 【计算机】寄存器是什么?
寄存器是计算机存储器的一个关键组件,它存储数据和指令以快速处理。它充当一个高效的临时存储区,信息可以在这里被快速访问和操作,以执行复杂任务。“寄存器是CPU里‘距离运算器最近、延迟最低、名字最短的存储’——它把‘存储’和‘控制’合二为一,让指令在纳秒级完成‘取-译-执-写回’的循环。
2025-12-13 14:40:26
974
原创 【】NVSHMEM 传输层ibgda,ibrc,libfabirc插件设计|软件插件设计
在// RMA和AMO操作函数指针// ... 其他操作。
2025-12-02 20:43:48
485
1
原创 【RDMA】一个例子说明Infiniband 的LID是什么
在同一个子网内的Inifiniband 网卡才能通信,ibstat 查看Base lid 就是网卡自己的LIDSM lid: 就是网卡所在的子网的ID (其实是该子网管理器的ID)。上面的信息输出表明当前节点接入两个子网:子网 261 mlx5_0,子网 189 mlx5_2~mlx5_3mlx5_0261属于的子网mlx5_10端口处于状态,未关联有效 SM189属于的子网。
2025-11-28 19:53:39
571
原创 【集群】slurm
Slurm(全称,即 “用于资源管理的简单 Linux 工具”)是一款开源、高度可扩展的集群作业调度与资源管理系统。Slurm作为集群工作负载管理器,Slurm具有三个关键功能。首先,它在一段时间内为用户分配对资源(计算节点)的独占和/或非独占访问权限,以便他们可以执行工作。其次,它为在分配的节点集上启动、执行和监控工作(通常是并行工作)提供了一个框架。最后,它通过管理待处理工作队列来仲裁资源的争用。
2025-11-25 19:54:20
1222
原创 【NCCL】NCCL 中的channel 是什么概念?
(编译后生成nccl.h)和公开 API 中不直接暴露(内部实现),但上层通过ncclComm_t(通信对象)间接引用 Channel;内部结构体定义在,核心字段包括:int id;// Channel 唯一标识// 关联的通信对象(包含 Group 信息)// 发送缓冲区// 接收缓冲区// 缓冲区大小// 传输类型(PCIe/NVLink/IB)// 对端 GPU 信息(设备号、地址等)// 同步原语(信号量、事件等,确保传输有序)
2025-11-12 21:04:56
976
原创 【NCCL】Merged Device(合并设备)和bond的区别
在现代高性能计算环境中,节点可能有多个网络接口卡(NIC)或多个设备用于网络通信。NCCL 支持将这些设备合并为一个逻辑连接,以提高带宽和性能。因此,通信的两端都需要知道对方有多少个设备,这样才能正确地建立连接和分配资源。。NCCL 中将多个设备合并为一个逻辑连接,这种合并被称为"Merged Device"(合并设备)。
2025-11-04 17:33:22
753
翻译 【NCCL】什么是PXN
NVIDIA在NCCL 2.12版本中引入PXN架构优化all2all通信性能。该架构创新性地结合NVLink与PCIe通信,使GPU可通过NVLink将数据写入中间GPU缓冲区,再经PCIe交换机直接传输至目标网卡,避免了传统CPU间协议的带宽限制。PXN通过消息聚合机制将最多8条消息合并发送,显著提升消息速率;同时实现了节点内GPU到目标节点的连接共享,减少连接数量。测试显示该方案有效降低了网络拥塞,使all2all操作性能提升显著。该技术还解决了单GPU-NIC拓扑下的ring算法限制问题,为模型并行
2025-11-03 18:14:37
443
原创 【RDMA】mlx5dev mlx5dv_devx 接口
API 是一个抽象接口,不依赖于任何底层硬件的具体实现(意思是 RDMA 网卡不仅有 mellanox(MLX)、还有 intel 等厂商,这些厂商都遵循 OFED 的 verbs API 接口定义,针对自家网卡实现了 API 规定的功能)。DEVX API 利用 KABI(内核 ABI)机制,允许用户空间直接访问 mlx5 设备驱动,其主要目标是使用户态驱动尽可能独立于内核,从而在无需或仅需极少内核改动的情况下,启用未来设备的新功能和新命令。—— 通过 DEVX 接口修改 Verbs CQ(完成队列)
2025-10-30 20:39:55
1259
原创 【NCCL】Ring Allreduce
AllReduce主要目的是在所有处理器上收集并汇总数据,使得每个处理器都能获得全局数据的归约结果。AllReduce就像一个“班级大合唱的收票统计”:假设一个班有4个小组,每个小组算出了自己应该交的班费(比如A组10元,B组20元,C组30元,D组40元)。AllReduce的目标就是让每个小组都知道全班总共要交多少钱(10+20+30+40=100元),而不仅仅是知道自己小组的数额。为什么这个很重要?在深度学习(比如训练大模型)中:每个处理器(GPU)= 上面的一个“小组”每个处理器的数据。
2025-10-09 20:31:30
1433
原创 【RDMA】GDR和GDA的区别(GPUDirect Async vs GPU Direct RDMA)
GDA 通常是指 NVIDIA 的 GPUDirect Async 技术,它与 GDR(GPU Direct RDMA)都属于 NVIDIA GPUDirect 技术家族的成员。GDA 让 GPU 真正实现了 “数据发送 + 通信控制” 全自主,带来两大关键优势:1. 延迟更低:砍掉 CPU 参与的控制流程,减少上下文切换、队列等待的耗时;2. CPU 彻底解放:CPU 不再被通信控制绑定,能专注跑其他计算任务,提升系统整体效率。
2025-08-10 00:34:42
3085
1
原创 【RDMA】Adapters PRM Mellanox Adapters Programmer’s Reference mellanox网卡编程手册0.52
Mellanox 网卡程序员参考手册 (PRM) 文档。
2025-07-25 23:55:07
946
原创 【CUDA】warp洗牌shuffle:_shfl_sync、__shfl_up_sync、__shfl_down_sync 和 __shfl_xor_sync函数
# 使用场景- 广播数据- 数据偏移- 交错访问+ 累加树形求和// 获取相邻线程的值。
2025-07-17 00:31:24
1651
翻译 【NVSHMEM】NVSHMEM 3.0新增特性和兼容性
NVSHMEM是NVIDIA Magnum IO的一部分,基于OpenSHMEM, NVSHMEM为跨越多个gpu内存的数据创建了一个全局地址空间,可以通过细粒度的gpu发起的操作,cpu发起的操作和CUDA流上的操作来访问。NVSHMEM 3.0在IBGDA中增加了对一种称为cpu辅助IBGDA的新模式的支持,它作为基于代理的网络和传统IBGDA之间的中间模式。它还允许NIC助手在运行时动态选择CPU或GPU。相反,NVSHMEM使用异步的、GPU发起的数据传输,消除了CPU和GPU之间的同步开销。
2025-06-21 00:16:13
922
原创 【NCCL】DBT算法(double binary tree,双二叉树)
万卡集群通信优化算法双二叉树:https://www.bilibili.com/video/BV1zSpnezEB83.1 NCCL源码二叉树构建算法:https://www.bilibili.com/video/BV1DErsYwEhc/"double binary tree" 在并行计算/NCCL语境中特指一种用于高效集合通信的树形拓扑结构,由两个并行的二叉树组成。从 ring 算法到 tree 算法,把时间复杂度从 n 提升到了 logn。
2025-05-09 22:15:14
1726
原创 【vscode】vscode链接关联github/gitlab
注意,这里的gitlab.com应该替换为你的GitLab实例的URL(如果你的GitLab是私有的或自托管的)。将pub内容复制,登录github/gitlab上,点击头像,选择preference,在右侧“user setting”选择“SSH Keys”,将pub内容填入。完成以上步骤后,你应该能够在VSCode中使用Git功能时,通过SSH密钥进行身份验证,而无需每次输入用户名和密码。在弹出的输入框中粘贴你在GitLab上复制的项目地址,然后按回车。在弹出的窗口至选择代码存放的位置。
2025-04-15 06:36:41
3702
原创 【GPU】CUDA、OpenCL、OpenMP、OpenACC等并行运算框架区别
是一个类似于OpenMP的编程接口,专门为加速器(如GPU)设计。它通过使用编译制导语句来简化并行计算的编程工作,让开发者能够更容易地将计算任务迁移到加速器上执行。OpenACC的目标是降低使用加速器进行高性能计算的技术门槛,使非专家也能有效地利用这些资源。版本更新很快,但仅限N卡。OpenCL跨平台,社区貌似不太活跃,更新不如CUDA。:适合需要快速将CPU代码移植到GPU上的并行计算任务。主要是针对CPU,最近开始支持GPU了,SIMT(线程网格)
2025-04-15 06:20:42
2061
基于可靠连接和高效资源共享的可扩展 RDMA RPC
2022-02-12
Argobots: A Lightweight Threading Framework for Massive Fine-Gra
2023-09-30
mellanox RDMA MLNX-OFED Documentation Rev 5.7-1.0.2.0-11-15-2022
2022-11-15
A Review of Lightweight Thread Approaches for High Performance
2022-09-18
DISTRIBUTED ASYNCHRONOUS OBJECT STORAGE (DAOS)
2022-09-10
大文件切割FileSplitter+CoolFormat3.4+Sublime Text 3
2022-08-17
DAOS_A_Scale-Out_High_Performance_Storage_Stack_fo.pdf
2022-08-15
连接服务器失败(错误原因:Connection refused) error 111 抓包结果
2022-01-25
GPUDirect RDMA Release 12.6
2026-04-11
mellanox OFED 驱动使用手册(含verbs、rdma-cm接口使用)(原版+AI翻译)-v23-10-2-1-3-1-lts.1 LTS
2025-12-20
mellanox OFED 驱动使用手册(含verbs、rdma-cm接口使用指导)v24.10-3.2.5.0 LTS
2025-12-20
MobaXterm、WindTerm、xshell、finalshell、soureCRT快捷指令工具cxtool-4.1.8
2025-04-15
Internal-Mellanox-Adapters-PRM-rev-0-53+Mellanox Adapters Programmer’s Reference0.40网卡编程手册
2025-07-25
咸鱼快捷指令-3.0.0快捷指令工具
2024-06-16
cxtool-3.2.2快捷指令工具-MobaXterm、WindTerm、xshell伴侣
2024-07-03
MobaXterm、WindTerm、xshell、finalshell、soureCRT快捷指令工具cxtool-3.2.5
2024-07-18
MobaXterm、WindTerm、xshell、finalshell、soureCRT快捷指令工具cxtool-3.8.0
2024-08-14
MobaXterm、WindTerm、xshell、finalshell、soureCRT快捷指令工具cxtool-4.0.0
2024-08-28
MobaXterm、WindTerm、xshell、finalshell、soureCRT快捷指令工具cxtool-4.1.5
2024-09-07
咸鱼快捷指令-1.5.0
2024-06-06
the-geek-in-the-corner-master.zip
2025-02-10
咸鱼快捷指令-1.2.0快捷指令工具
2024-06-05
自定义快捷指令工具 咸鱼快捷指令-2.0.0
2024-06-10
CP丢包对带宽性能的影响分析(Analysing TCP performance when link experiencing
2023-11-26
shell 脚本怎么删除 匹配字符之间的行?
2023-03-01
我写的IP转interface的shell脚本错哪里了呢?
2022-12-10
ifconfig 除了列出网口信息还有一堆不知道是什么?
2022-10-27
为什么程序能用getenv读到的环境变量我printenv打印不出来?
2022-09-23
find 后调用 -exec 执行多条语句的方法是?
2022-09-09
如何设置scons的环境变量?
2022-08-25
Gcc编译代码报错/usr/bin/ld: cannot find abt
2022-08-23
为什么popen没有执行里面的shell脚本?
2022-05-19
linux 的buff/cache有必要手动清除吗?
2021-12-06
linux怎么查看线程的父进程?
2021-10-26
C++11启动线程时怎么给线程分配名字?
2021-09-22
C++11的allocator::construct如何构造多参数对象?
2021-09-25
linux 的core file的时间戳怎么样才能变成日期格式
2018-02-26
shell怎么调用一个子脚本之后 让自己可以退出不必等子脚本
2017-05-20
如何实现子Div的大小随着父Div的大小动态的改变而改变
2017-09-24
Echart和WPF chart 比有什么优势吗?为什么Echart的JS库如此热门?
2017-06-22
如何实现点击页面上的图片改变服务器上某个文件的JSON数据?
2017-08-07
servlet应该放在哪个文件夹?servlet-class的根目录是哪里?
2017-10-19
关于protobuff,json等协议数据跨语言传输的一些问题
2017-11-09
pentaho,Kylin, Mondrian, Saiku之间到底是什么样的关系?
2017-07-16
shell函数内如何改变参数的值?类似于C语言一样参数指针传递
2017-05-21
linux 的core file的时间戳怎么样才能变成日期格式
2016-09-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅