Z100 DCU 上 vLLM CUDA Graph 推理优化实践

我们在海光 Z100 DCU (gfx906) 上对 vLLM 推理框架的 CUDA Graph 功能进行了完整的测试验证。本文记录开启 CUDA Graph + torch.compile 的具体配置、性能数据和关键发现。 测试环境 项目 详情 服务器 scnet GPU 1x 海光 Z100 DCU (gfx906), 16 GiB Python 3.10.12 PyTorch 2.10.0+das.opt1.dtk2604 vLLM 0.18.1+das.3266200.dtk2604 Triton 3.4.0 模型 Qwen3.5-4B (BF16) 两种配置对比 Baseline:enforce_eager=True(禁用 CUDA Graph) compilation_config.mode = CompilationMode.NONE cudagraph_mode = CUDAGraphMode.NONE 启用 custom fusions(norm_quant、act_quant) 模型加载时间:~125s 显存占用:~13.25 GiB CUDA Graph + Compile:enforce_eager=False compilation_config.mode = VLLM_COMPILE(Inductor backend) cudagraph_mode = FULL_AND_PIECEWISE compile_ranges_endpoints: [8192] cudagraph_capture_sizes: [1, 2] 禁用 custom fusions(与 compile 不兼容) 模型加载时间:~172s(编译开销) 显存占用:~14.5 GiB(多出 ~1.3 GiB 用于 Graph 缓冲) 关键:CUDA Graph 模式不要传 –enforce-eager,去掉该参数后 vLLM 自动启用 VLLM_COMPILE + FULL_AND_PIECEWISE CUDA Graph。 ...

June 15, 2026 · 3 min

记忆回溯:C++ map

map 是有序键值对容器,它的元素的键是唯一的.搜索、移除和插入操作拥有对数复杂度.map 通常实现为 红黑树(红黑树是一种自平衡的二叉搜索树.每个节点额外存储了一个 color 字段 (“RED” or “BLACK”),用于确保树在插入和删除时保持平衡). ...

March 8, 2026 · 3 min

Accuracy、Recall、Precission、F1 Score分别是什么?

无论是打数模还是单纯的搞机器学习,都需要对最后训练结果进行分析,这时候常用的四个指标:准确率、召回率、精确率、F1分数。 作为指标,一定会涉及几个方面 用来描述什么 如何计算的 指标的意义是什么 那为了计算这几个指标,我们需要了解什么是TP、TN、FP、FN 用识别苹果举例 假设我们有100张照片: 其中有40张是真的苹果照片称之为正样本。 另外60张不是苹果照片称之为负样本。 模型预测可能有四种情况: 预测是苹果,实际是苹果,TruePositive (TP) 预测是苹果,实际不是苹果,FalsePositive (FP) 预测不是苹果,实际是苹果,FalseNegative (FN) 预测不是苹果,实际也不是苹果,TrueNegative (TN) True or False =有没有猜对 Positive or Negative 表示猜的结果 是不是正类,是苹果为正类。 假设: ...

September 28, 2025 · 2 min

stringstream用法整理

一部分转载自巴哈姆特:https://home.gamer.com.tw/creationDetail.php?sn=4114818 stringstream是一個C++底下的類別,專門拿來讀取字串並且處理,很多時候拿來做字串的切割,或者是int跟string類別之間的轉換。 ...

April 9, 2025 · 2 min

惠普m1216打印机无法安装驱动无法打印

给打印机插到打印的电脑上,开始安装驱动,卡在这里: 在此之前我插到自己的电脑装过驱动试过,卡个2分钟也就装上了, 我也就没管出去吃饭了,结果吃完一小时再回来还是这个鬼窗口,我就觉得事情不对了。 ...

April 9, 2025 · 1 min

记录模板题:图论-树:最近公共祖先(LCA)

模板题:洛谷p3379 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 N,M,SN,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。 ...

April 9, 2025 · 8 min

题解:蓝桥例题3260最大区间和

先发题目内容: 问题描述 小明是一名勇敢的冒险家,他在一次探险途中发现了一组神秘的宝石,这些宝石的价值都不同。但是,他发现这些宝石会随着时间的推移逐渐失去价值,因此他必须在规定的次数内对它们进行处理。 ...

April 9, 2025 · 3 min

前缀和 & 差分

C++ 标准库中实现了前缀和函数 std::partial_sum,定义于头文件 中。 一个经典的例题: 暴力当然直接TLE //这段代码是能拿50分的,大规模会有超时问题 //没有很好的利用前缀和 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; vector<int>a; for(int i=0;i<n;i++){ int t;cin>>t; a.push_back(t); } int m; cin>>m; for(int i=0;i<m;i++){ int l,r,t=0; cin>>l>>r; for(int j=l-1;j<=r-1;j++)t+=a[j]; cout<<t<<endl; } return 0; } 将上面代码的加起来的过程给优化一下,在输入阶段就将数组改写成前缀和的形式,输出的时候只要s[r]-s[l-1]就可以了 ...

April 9, 2025 · 3 min

PKU HPCGame 2nd WriteUp

1.签到题 答案的第一位是**1 second number is eight *叁:*9 最后一个是八 第一题:1 8 9 8(北京大学的创校时间xD),这读完都知道在哪吧…… 2.小北问答 1某厂的CPU采用了大小核架构,大核有超线程,小核没有超线程。已知物理核心数为12,逻辑核心数为16,大核数量为____,小核数量为____。 ...

April 9, 2025 · 41 min