avatar
文章
491
标签
109
分类
29
首页
归档
分类
标签
关于
xhj的博客
首页
归档
分类
标签
关于

xhj的博客

Python_Module
发表于2025-07-07|Python
Python Module python中的模块、库、包有什么区别?——风影忍着 python中的模块、库、包有什么区别?——看图学
Python_Metaclass
发表于2025-07-06|Python
Python Metaclass参考资料 What are metaclasses in Python?
Python_Magic_Method
发表于2025-07-05|Python
Python Magic Method__post_init____post_init__(self) 方法在数据类实例初始化后被调用,用于执行一些额外的初始化逻辑。 例如,可以在这里进行属性的验证、计算以及设置默认值等操作。这有助于将初始化逻辑封装在类中,使代码更加清晰和模块化。 __repr__当直接打印类的实例化对象时,系统将会输出对象的自我描述信息,默认是输出其内存中的对象,如:<__main__.Person object at 0x0042A6A0>。 我们可以重写 __post_init__(self) 方法,从而自定义类的打印信息。
Python_Entry_Points
发表于2025-07-04|Python
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
发表于2025-07-03|Python
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非阻塞传输参数详解
发表于2025-07-02|Python
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图原理与用法详解
发表于2025-07-01|Python
我来详细解释 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
发表于2025-06-15|Backend Dev
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
发表于2025-06-14|Backend Dev
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
发表于2025-06-13|Backend Dev
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 ...
1…181920…50
avatar
xhj
相关学习笔记
文章
491
标签
109
分类
29
Follow Me
公告
欢迎来到我的博客
最新文章
Multi-Agent2026-06-03
Multi-Agent vs Single-Agent2026-06-02
Harness Engineering2026-06-01
25-架构模式总结2026-05-25
24-Skill-Plugin开发实战2026-05-24
分类
  • AI Agent40
  • Algorithm20
  • Backend Dev74
  • Big Data2
  • C/C++2
  • Claude Code71
  • Computer Basics18
  • Computer Network2
标签
Netty PyG Stacking Pandas Neural Networks PCA Maven Tornado PCV RabbitMQ Claude Code Heap Memory Tree dijkstra Redis GAT MySQL Computer Basics JVM Architecture Linear Regression List Kruskal Algorithm Object Identification Message Queue Gradient descent HBOS LOF Grid search OSI Embedding OLSE Prim NMF DataFrame AI Agent Kafka GNN Thread Compilation
归档
  • 六月 2026 3
  • 五月 2026 25
  • 四月 2026 16
  • 三月 2026 20
  • 二月 2026 10
  • 一月 2026 22
  • 十二月 2025 15
  • 十一月 2025 19
网站信息
文章数目 :
491
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By xhj框架 Hexo 8.1.2|主题 Butterfly 5.5.4