2025年12月8日
摘要: 注:本文已于2025.11.30 发表于知乎和公众号 1. 简介 前序的三篇笔记,先系统总结各种SGLang 分布式集群模式,然后对TP 集群的完整执行流程做解析,再重点介绍 PP 集群的任务调度和分布式通信。本文将讲解 DP Attention 集群,聚焦在任务调度和分布式通信,并着重介绍模型层 阅读全文
posted @ 2025-12-08 00:19 -银光- 阅读(30) 评论(0) 推荐(0)
摘要: 注:本文已于2025.10.26 发表于知乎和公众号 1. 简介 前序的两篇笔记,先系统总结所有 SGLang 分布式集群模式,然后介绍 TP 集群处理请求的完整流程。本文将对 PP 集群做介绍,重点讲解流水线调度、分布式通信组以及通信量推导。PP 模式将模型中的多个层拆分到不同的 GPU 上,集群 阅读全文
posted @ 2025-12-08 00:02 -银光- 阅读(19) 评论(0) 推荐(0)
  2025年12月7日
摘要: 本文已于 2025.09.21 发表于知乎和公众号。 1. 简介 在前序笔记中总结了SGLang 的各种分布式集群模式,本文将进一步总结 TP 模式。TP 模式将模型中的权重张量按行或者列拆分到单机或者多机的多个 GPU 中,每个 GPU 处理部分计算。本文对 SGLang 实现的 TP 模式做简单 阅读全文
posted @ 2025-12-07 23:43 -银光- 阅读(20) 评论(0) 推荐(0)
摘要: 本文已于2025.09.14 发表于知乎和公众号。 计算加速是推理系统优化的终极目标,并行计算是实现该目标的核心手段,而分布式集群则是支撑并行计算落地的底层基础设施。本文概括性的介绍 SGLang 支持的多种分布式集群。 1. 六种分布式集群 SGLang 有多种分布式集群计算加速手段,可以分为三种 阅读全文
posted @ 2025-12-07 23:31 -银光- 阅读(27) 评论(0) 推荐(0)
  2025年2月17日
摘要: 最近两周读完了《英伟达之道》和《英伟达之芯》。大模型人工智能在今天能这么火爆,除了辛顿等神经网络科学家的坚持之外,更重要的是以英伟达为代表的算力芯片的发展,英伟达是成立于 1993 年的科技公司,从视频游戏的图形芯片到并行计算的算力芯片,它是怎么起步的,又是怎么做到持续创新的,GPU 发展的历史又是 阅读全文
posted @ 2025-02-17 23:22 -银光- 阅读(546) 评论(1) 推荐(3)
  2024年8月31日
摘要: 今天复习前几年在项目过程中积累的各类技术案例,有一个小的 coredump 案例,当时小组里几位较资深的同事都没看出来,后面是我周末查了两三个小时解决掉的,今天再做一次系统的总结,给出一个复现的案例代码,案例代码比较简单,便于学习理解。 1. 简介 原则:临时对象不应该被 lambda 引用捕获,因 阅读全文
posted @ 2024-08-31 20:11 -银光- 阅读(393) 评论(0) 推荐(2)
  2024年7月6日
摘要: 1. 背景 1.1. 接手老系统 最近我们又接手了一套老系统,老系统的迭代效率和稳定性较差,我们打算做重构改造,但重构周期较长,在改造完成之前还有大量的需求迭代。因此我们打算先从稳定性和迭代效率出发做一些微小的升级,其中一项效率提升便是升级编译工具 和 GCC 版本。 老系统使用 Autotools 阅读全文
posted @ 2024-07-06 21:14 -银光- 阅读(1704) 评论(13) 推荐(9)
  2023年10月29日
摘要: 字符串分割是很常见的功能,通常其实现代码也很简洁,这就使得开发者容易忽略其性能,写出非最佳性能的代码,譬如:没有使用现代 C++ 中的 string_view、对遍历过程没有精细考虑。通过精细的控制计算量以及应用 SIMD 指令可以获得比较好的收益,特别是 SIMD 指令在任意多分隔符场景下性能优化效果非常明显。 阅读全文
posted @ 2023-10-29 22:00 -银光- 阅读(3196) 评论(7) 推荐(10)
  2019年4月14日
摘要: 本文主要介绍B+树的Copy-On-Write,包括由来、设计思路和核心源码实现(以Xapian源码为例)。中文的互联网世界里,对B树、B+树的科普介绍很丰富,但对它们在工业界的实际使用却几乎没有相关介绍文章,本文既是总结分享,也是资料索引。 在阅读本文之前需要先对B+树有概念上的认识,可以阅读wi 阅读全文
posted @ 2019-04-14 22:58 -银光- 阅读(3237) 评论(0) 推荐(1)
  2019年3月23日
摘要: 总结今天遇到的一个so库链接、运行问题。 这几天修改了xapian的源码,重新编译so库,再重新编译之前的demo程序,跑起来后却发现执行的函数并非我修改过的,使用的还是老版本。折腾了一会儿,发现是因为/usr/local/lib目录中含有同名so库导致。这里记录下正确的解决思路。 1 确保链接到了 阅读全文
posted @ 2019-03-23 00:25 -银光- 阅读(2377) 评论(0) 推荐(2)