epd_interaction_analysis
SGLang EPD 场景:encode_server 与 encode_receiver 交互分析 分析范围:python/sglang/srt/disaggregation/encode_server.py / encode_receiver.py聚焦:以 Mooncake 作为传输后端(encoder_transfer_backend=mooncake)时的消息通知与数据传输机制生成日期:2026-04-09 目录 EPD 架构概览 关键组件与模块 传输后端对比 Mooncake 后端核心交互流程 详细时序图 关键代码解析 多 Encoder 与多 Part 机制 技术原理深度解析 zmq_to_scheduler 后端对比 性能分析与优势 1. EPD 架构概览EPD(Encode-Prefill-Decode)是 SGLang 为多模态大模型设计的三级算力分离架构: 123456789101112131415161718192021222324252627282930313233┌────────────────────────────────────...
disaggregated_encoder_epd
vLLM Disaggregated Encoder (EPD) 特性代码走读技术文档 文档版本: 1.0分析代码版本: vLLM main 分支(截至 2026-04)最后更新: 2026-04-02 文档概述本文档深入分析 vLLM 的 Disaggregated Encoder(EPD 分离) 特性。EPD 将多模态大模型推理拆分为 Encoder (E)、Prefill (P)、Decode (D) 三个独立阶段,分别运行在不同的 GPU 实例上,从而实现细粒度的资源调度与弹性扩展。 目标读者: 对 vLLM 推理引擎有一定了解,希望深入理解多模态模型服务化部署优化的工程师。 阅读指南: 部分 内容 建议读者 第一部分 EPD 原理与架构总览 所有读者 第二部分 核心接口与基类分析 开发者、定制化需求者 第三部分 核心实现深度分析 引擎开发者 第四部分 部署拓扑与连接器对比 运维工程师、架构师 第五部分 配置与使用指南 所有用户 第一部分: EPD 基础与架构总览1.1 EPD 原理1.1.1 基本思想多模态大模型(如 Qwen2.5...
aclnn算子开发入门
Ascend aclnn 算子开发入门[toc] 一、概述什么是算子? 在 AI 框架中,算子一般指一些最基本的代数运算(如:矩阵加法、矩阵乘法等),多个算子之间也可以根据需要组合成更加复杂的融合算子(如:flash-attention 算子等)。算子的输入和输出都是 Tensor(张量)。 融合算子:将多个独立的“小算子”融合成一个“大算子”,多个小算子的功能和大算子的功能等价,但融合算子在性能或者内存等方面优于独立的小算子。 另外,算子更多地是 AI 框架中的一个概念,在硬件底层算子具体的执行部分,一般叫做 Kernel(核函数)。 下面将首先对算子开发中涉及的一些基本概念进行介绍(可以用 CUDA 作为参考,大部分概念都是相似的),然后会以具体的矩阵加法和乘法算子的代码实现为例进行讲解。 二、基本概念2.1 Device Host:一般指 CPU(负责调度); Device:一般指 GPU、NPU(负责计算)。 2.2 ContextContext 主要负责管理线程中各项资源的生命周期。 一般来说,Context 与其它概念之间具有以下关系: 一个进程可以创建多个 ...
Python学习笔记
基础语法1 数据类型1.1 基本类型1.1.1 数字1234567891011121314151617181920212223242526272829# 1.整型(int)# 十进制转二进制a = bin(16) # 0b10000# 十进制转八进制b = oct(16) # 0o20# 十进制转十六进制c = hex(16) # 0x10# 转换结果为字符串类型type(a) # str# 二进制转十进制d = int(a, 2) # 16# 八进制转十进制e = int(b, 8) # 16# 十六进制转十进制f = int(c, 16) # 16# 2.浮点型(float)# 计算机采用二进制小数来表述浮点数的小数部分,部分小数不能用二进制小数完全表示,可以四舍五入获得精确解。(0.1 + 0.2) == 0.3 # False0.1 + 0.2 # 0.30...04b = round(0.3, 1) # 只保留1位小数print(b) # 0.3# 3.复数(complex)# j或J都可以# 虚部为1时,需要显示写出2+1j 数据运算: 整数与浮点数的运算...
PyTorch深度学习实践
PyTorch 深度学习实践概述 课程链接: 《PyTorch深度学习实践》完结合集。 环境配置 安装教程: 最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程_哔哩哔哩_bilibili。 确认 GPUGPU(Graphics Processing Unit),显卡,用于在屏幕上显示图像、视频。 驱动:让计算机识别特定的硬件。 深度学习显卡,一般是用 NVIDIA(英伟达),AMD 的显卡不能用于深度学习。因为英伟达有 CUDA 平台,让用户可以通过 CUDA 操纵显卡,从而加速深度学习的训练。 CUDA 软件的版本(Cuda runtime version)要 <= CUDA 硬件驱动的版本(Cuda driver version)。 GPU 为什么可以加速训练?因为相比于 CPU,GPU 具有大量的 ALU(逻辑处理单元)用于计算。 安装 Anaconda虚拟环境: 1234567891011121314151617181920创建虚拟环境:conda create -n [环境名称] py...
Java学习笔记
Java SE基本语法方法重载 方法名相同 参数列表不同(个数、类型、次序) 方法重载与访问修饰符、返回值类型、方法参数的名字都没有关系。 参考资料: [Java中的方法重载_callmexinshou的博客-CSDN博客_java方法重载](https://blog.csdn.net/callmexinshou/article/details/123893783?ops_request_misc=&request_id=&biz_id=102&utm_term=Java中的方法重载 callme&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-123893783.142^v47^pc_rank_34_1,201^v3^control_2&spm=1018.2226.3001.4187) 面向对象继承子类可以继承父类的私有属性,但是不能继承父类私有属性的访问权限。 即子类其实是可以继承父类的所有成员的,...
CUDA学习笔记
CUDA 学习笔记 学习资料: 代码仓库:https://github.com/RussWong/CUDATutorial 01-02. hello world123456789101112131415#include <stdio.h>#include <cuda.h>#include <cuda_runtime.h>__global__ void hello_cuda() { // 泛指当前线程在所有block范围内的全局id unsigned int idx = blockIdx.x * blockDim.x + threadIdx.x; printf("block id = [ %d ], thread id = [ %d ] hello cuda\n", blockIdx.x, idx);}int main() { hello_cuda<<< 1, 1 >>>(); cudaDeviceSynchronize();...
C++学习笔记
C++基础入门1 C++初识1.1 第一个C++程序1234567891011#include<iostream>#include<string>using namespace std;int main(){ // ... system("pause"); return 0;} 1.2 注释1.3 变量1.4 常量12#define 常量名 常量值const 数据类型 常量名 = 常量值 1.5 关键字1.6 标识符命名规则 不能是关键字; 只能由字母、数字、下划线组成; 第一个字符必须为字母或下划线; 区分大小写。 2 数据类型2.1 整型 数据类型 占用空间 short 2 字节 int 4 字节 long Win 4 字节,Linux 4 字节(32 位)或 8 字节(64 位) long long 8 字节 2.2 sizeof()作用:返回当前数据的类型长度(字节)。 2.3 浮点型 数据类型 占用空间 float 4 字节 ...
03.网络与部署学习资料
第七节:从需求到上线全流程概述课程背景: 作为后端研发同学,在一个完整的需求交付周期内究竟要做哪些事情?在各个阶段需要跟不同的角色和平台打交道。介绍常见的研发模式和迭代流程,以实际的例子让同学感受一下后端研发的日常,能够提升大家在团队中协作的能力。 课程目标: 提升对流程的认知 熟悉在公司大团队中协作开发 对职业生涯的日常有更直观的理解 课前 (必须)词汇表 分类 英文 中文 解释 研发模式 Waterfall Model 瀑布模型 瀑布模型(Waterfall Model)最早强调软件或系统开发应有完整之周期,且必须完整的经历周期之每一开发阶段,并系统化的考量分析与设计的技术、时间与资源之投入等。由于该模式强调系统开发过程需有完整的规划、分析、设计、测试及文件等管理与控制,因此能有效的确保系统质量,它已经成为软体业界大多数软件开发的最初标准 The Scaled Agile Framework(SAFe) 规模化敏捷框架 Scrum Scrum 在软件工程中,Scrum是以经验过程为依据,采用迭代、增量的方法来提高产品开发的可预见性并控制风险的理论,S...
02.Go语言原理与实践学习资料(下)
第四节:高性能 Go 语言发行版优化与落地实践概述本节课程主要分为四个方面: 自动内存管理 Go 内存管理及优化 编译器和静态分析 Go 编译器优化 课前部分主要罗列课程中涉及到的概念。对于不熟悉的概念,同学们可以提前查询预习;课中部分主要罗列每一部分的关键思路,帮助同学们跟上课程的进度;课后部分是一些问题,帮助同学们在课后梳理本课程的重点。 课前 (必须)自动内存管理 Auto memory management: 自动内存管理 Grabage collction: 垃圾回收 Mutator: 业务线程 Collector: GC 线程 Concurrent GC: 并发 GC Parallel GC: 并行 GC Tracing garbage collection: 追踪垃圾回收 Copying GC: 复制对象 GC Mark-sweep GC: 标记-清理 GC Mark-compact GC: 标记-压缩 GC Reference counting: 引用计数 Generational GC: 分代 GC Young generati...