摘要: [MoE] Deepseek的All-to-all通信: DeepEP代码解读 前言 最近,Deepseek开源了一系列MoE的优化技术,让我们看到了AI infra的强大之处。其中,第二天发布的DeepEP则是针对MoE中EP的all-to-all通信进行了优化。 我最近也在关注MoE和all-t 阅读全文
posted @ 2025-02-27 18:04 CQzhangyu 阅读(591) 评论(0) 推荐(0) 编辑
摘要: [MoE] Tutel源码解读 前言 最近MoE变得火了起来。但我在和别人讨论MoE时,总有一些说不清楚地方,就算读了论文也一知半解。于是我决定还是要看一看具体的代码,看看每个细节究竟都是怎么实现的。 作为实现参考,Tutel这篇工作就很不错。最近的工作基本都拿Tutel作为Baseline比较,于 阅读全文
posted @ 2025-02-14 00:12 CQzhangyu 阅读(44) 评论(0) 推荐(0) 编辑
摘要: [PyTorch] DDP源码阅读 PyTorch的DistributedDataParallel (DDP) 允许多台机器,多台GPU之间的数据并行。本文简单讲解DDP的流程,并从代码层面理解DDP如何访问底层的通信框架。 DDP使用单机多进程来控制多个GPU。模型需要能放入单个GPU中。 参考了 阅读全文
posted @ 2025-02-09 15:45 CQzhangyu 阅读(21) 评论(0) 推荐(0) 编辑
摘要: [CUDA] 手写一个PyTorch的算子 (其实是本人之前上过的分布式机器学习课程的一个作业,这里简单记录一下) 我们都知道,PyTorch里的算子是跑在GPU上的。虽然最外层的接口是python,最内部的实现其实是CUDA。那么,一个python代码是如何一步步的调用内层的CUDA代码的呢?这里 阅读全文
posted @ 2025-02-09 00:21 CQzhangyu 阅读(33) 评论(0) 推荐(0) 编辑
摘要: [LLM] ZeRO-DP技术简析 本文对ZeRO: Memory Optimizations Toward Training Trillion Parameter Models中提出的ZeRO-DP进行简要总结。相关的讲解其实网上也有很多了,不过只看网上的终究还是有点走马观花,所以我还是决定自己写 阅读全文
posted @ 2025-02-07 12:42 CQzhangyu 阅读(52) 评论(0) 推荐(0) 编辑
摘要: [RDMA] UD模式下ibv_post_send返回ENOMEM,但sq并没有满 我创建了一个RDMA的UD qp,其max_send_wr和max_recv_wr都是32。在实际使用中,我保证最多只有16个已发送但对端未接受到的消息。然而,在我发送32个消息后,ibv_post_send报错,返 阅读全文
posted @ 2024-12-28 16:33 CQzhangyu 阅读(16) 评论(0) 推荐(0) 编辑
摘要: [RDMA] RDMA的不同操作是否保证顺序? 结论:不保证。 例子: 对同一个地址,连续进行READ和WRITE。READ返回的结果可能是WRITE之后的内容。 阅读全文
posted @ 2024-10-14 17:02 CQzhangyu 阅读(29) 评论(0) 推荐(0) 编辑
摘要: [DPDK] dumpcap报错EAL init failed: is primary process running?解决办法 问题 我写了一个DPDK程序,现在想要用DPDK自带的dpdk-dumpcap工具来抓包测试。根据官网描述,我们需要先启动我们的程序为主进程,然后启动dpdk-dumpc 阅读全文
posted @ 2024-09-10 17:05 CQzhangyu 阅读(180) 评论(0) 推荐(0) 编辑
摘要: Docker安装DPDK 参考:容器安装DPDK。 确认版本兼容性 我使用的是Mellanox-5网卡。为了确认支持的DPDK版本,请先确认自己的OFED和frimware版本。 查看firmware版本: $ ibstat CA 'mlx5_0' CA type: MT4119 Firmware 阅读全文
posted @ 2024-08-31 10:31 CQzhangyu 阅读(288) 评论(0) 推荐(0) 编辑
摘要: Mellanox网卡开启SR-IOV SR-IOV是网卡虚拟化的一个重要功能。本文讲介绍如何在Mellanox网卡上开启SR-IOV,并创建一些VF。 参考:Mellanox网卡开启SR-IOV方法简介-天翼云开发者社区 - 天翼云 (ctyun.cn) 在BIOS中开启IOMMU 先查看是否已经开 阅读全文
posted @ 2024-05-13 15:19 CQzhangyu 阅读(1924) 评论(0) 推荐(0) 编辑
摘要: [Mellanox] 安装MLNX_OFED 虽然已经安装过很多遍了,但是这里还是再次写一遍安装过程,方便以后查阅。 Mellanox的这堆东西其实每个安装起来都不难,难点在于版本要匹配。所以最重要的是我们要知道1.我们需要哪个版本的驱动;2.这些软件的版本对应关系。 查看当前的各种配置版本 MLN 阅读全文
posted @ 2024-05-12 17:28 CQzhangyu 阅读(4078) 评论(0) 推荐(0) 编辑
摘要: 参考资料: Quality of Service (QoS) - NVIDIA Docs 【RDMA】RoCE网络QoS|应用层设置PFC等级|Tos|Priority|TC_cma_roce_tos-CSDN博客 【RDMA】mellonx流控配置工具mlnx_qos|PFC-CSDN博客 前言 阅读全文
posted @ 2024-04-16 19:30 CQzhangyu 阅读(847) 评论(0) 推荐(0) 编辑
摘要: # [DPDK] rte_eth_dev_start()出现段错误 一天我运行DPDK时,它在`rte_eth_dev_start()`时发生段错误。 ``` Thread 1 "my_dpdk" received signal SIGSEGV, Segmentation fault. 0x0000 阅读全文
posted @ 2023-06-15 11:13 CQzhangyu 阅读(394) 评论(0) 推荐(1) 编辑
摘要: # [犯病记] DPDK报错Symbol `rte_eth_devices' has different size in shared object, consider re-linking > 背景:有一天,我犯了个病,试图在一个机器上安装DOCA,然后安装程序就下了一堆库,把机器上的环境搞得一团 阅读全文
posted @ 2023-05-28 00:10 CQzhangyu 阅读(399) 评论(0) 推荐(0) 编辑
摘要: [HiBench] 安装HiBench,测试在Spark上跑PageRank与修改源码测试 背景:我想在HiBench上测试在Spark上跑PageRank性能,并想要修改PageRank的源码进行测试。本来,HiBench在README里写的已经挺清楚的了,直接照着做就行。奈何我用的服务器没有珂学 阅读全文
posted @ 2023-05-06 15:39 CQzhangyu 阅读(255) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示