Python_Module
Python Module python中的模块、库、包有什么区别?——风影忍着 python中的模块、库、包有什么区别?——看图学
Python_Metaclass
Python Metaclass参考资料 What are metaclasses in Python?
Python_Magic_Method
Python Magic Method__post_init____post_init__(self) 方法在数据类实例初始化后被调用,用于执行一些额外的初始化逻辑。 例如,可以在这里进行属性的验证、计算以及设置默认值等操作。这有助于将初始化逻辑封装在类中,使代码更加清晰和模块化。 __repr__当直接打印类的实例化对象时,系统将会输出对象的自我描述信息,默认是输出其内存中的对象,如:<__main__.Person object at 0x0042A6A0>。 我们可以重写 __post_init__(self) 方法,从而自定义类的打印信息。
Python_Entry_Points
Python Entry Points基本原理setup.py: entry_points={key: value} key -> Plugin group value -> [“Plugin name = Plugin value“, …] Plugin value -> python_module:function_name 示例(vLLM)123456789101112131415161718# inside `setup.py` filefrom setuptools import setupsetup(name='vllm_add_dummy_model', version='0.1', packages=['vllm_add_dummy_model'], entry_points={ 'vllm.general_plugins': ["register_dummy...
Python_Decorator
Python Decorator基本原理…… 内置装饰器@property@property:把一个方法变成属性调用。 示例一: 把一个 getter 方法变成属性,只需要加上 @property 就可以了,此时,@property 本身又创建了另一个装饰器 @score.setter,负责把一个 setter 方法变成属性赋值。 123456789101112class Student(object): @property def score(self): return self._score @score.setter def score(self, value): if not isinstance(value, int): raise ValueError('score must be an integer!') if value < 0 or value > 100: raise ValueError('score mu...
PyTorch非阻塞传输参数详解
torch.cuda.Event() 是PyTorch中用于精确测量GPU操作时间和实现细粒度同步的工具。 基本用法创建CUDA Event12345import torch# 创建CUDA事件start_event = torch.cuda.Event(enable_timing=True) # 启用计时功能end_event = torch.cuda.Event(enable_timing=True) record() 方法record() 方法在GPU的当前流中插入一个事件记录点。 基本record用法12345678# 在GPU流中记录事件start_event.record() # 记录开始时间点# 执行一些GPU操作x = torch.randn(1000, 1000, device='cuda')y = x * x + 2 * x + 1end_event.record() # 记录结束时间点 synchronize() 方法synchronize() 方法阻塞CPU执行,直到事件完成。 基本synchronize用法123456# 等...
PyTorch-CUDA图原理与用法详解
我来详细解释 torch.cuda.graph(graph, pool=xxx) 的原理与用法。 原理CUDA Graph 是 PyTorch 中用于优化 GPU 计算性能的技术,主要原理是: 计算图捕获:将一系列 CUDA 操作捕获为一个静态图 单次启动:整个图只需一次 GPU 启动,而不是多次内核启动 减少开销:避免了内核启动开销、CPU-GPU 同步等 pool=xxx 参数用于指定内存池,让图形在专用内存中运行,进一步提高性能。 基本用法123456789101112131415161718192021import torch# 准备示例计算def example_computation(x, weight): return torch.nn.functional.conv2d(x, weight)# 创建输入和参数x = torch.randn(4, 3, 32, 32, device='cuda')weight = torch.randn(16, 3, 3, 3, device='cuda')# 创建 CUDA 图gr...
pr-38061-optimization-analysis
PR #38061 优化分析与 CUDA Graph Token Budget 设置指南 PR: vllm-project/vllm#38061 — [MM][Perf][CG] Support ViT full CUDA graph for Qwen3-VL video inference日期: 2026-03-27 目录 1. PR 总结报告 2. 可优化的地方 3. CUDA Graph 固定开销分析 4. 视频推理 CUDA Graph 性能优化建议 5. Token Budget 设置指南 1. PR 总结报告1.1 总结 (Summary)本 PR 在 PR #35963(仅支持图像推理)的基础上,将 ViT 编码器 CUDA Graph 支持扩展至 Qwen3-VL 的视频推理场景。核心思路是复用图像 CUDA Graph 捕获的计算图来回放视频输入,通过引入 max_frames_per_batch 参数控制 cu_seqlens 缓冲区大小,同时增加模态感知的输入键路由机制(modality_input_keys),使同一个 CUDA Grap...
mooncake_store_analysis
SGLang MooncakeStore 架构分析与 EPD 场景解析 源码路径:python/sglang/srt/mem_cache/storage/mooncake_store/生成日期:2026-04-09 目录 背景概览 目录结构与文件职责 核心类架构图 技术原理深度解析 HiCache 三级存储体系 MooncakeStore 核心工作流 EPD 场景使用详解 配置与部署 性能优势分析 总结 1. 背景概览1.1 什么是 MooncakeMooncake 是一个面向大语言模型推理加速的分布式 KV 缓存系统,其核心目标是: 将集群中多台机器的 DRAM/SSD 聚合为一个大型高速缓存池 利用 (GPUDirect) RDMA 技术实现零拷贝的高带宽数据传输 最大化利用单机多网卡资源,降低跨节点传输延迟 1.2 为什么 SGLang 需要 MooncakeStoreSGLang 内置了 HiCache 分层缓存体系(L1 GPU VRAM → L2 CPU DRAM → L3 远端存储)。对于长上下文、多轮对话和高并发场景,L1/L2 很...
mooncake_ec_zmq_msgspec_analysis
MooncakeECConnector:ZMQ 与 msgspec 深度分析报告 文件范围:vllm/distributed/ec_transfer/ec_connector/mooncake/分析日期:2026-04-10 目录 整体架构概览 ZMQ 通道设计 通道拓扑与端口规划 PUB/SUB:调度器哈希通知通道 ROUTER/DEALER:Worker 数据握手通道 msgspec 消息协议 消息类型一览 编解码器的创建与复用 完整交互时序 各组件 ZMQ/msgspec 使用详解 mooncake_ec_metadata.py:协议消息定义 mooncake_ec_worker.py:Worker 数据平面 mooncake_ec_scheduler.py:调度器控制平面 设计决策解析 为什么用 ZMQ 而不是 gRPC/HTTP? 为什么用 ROUTER/DEALER 而不是 REQ/REP? 为什么用 PUB/SUB 而不是 PUSH/PULL? 为什么用 msgspec ...