ソース情報
- リポジトリ
- mindspore-ai/akg
- ソースの最終更新活動
- 2026年4月7日 11:59
- 検出された SKILL.md の言語
- 中国語
- スター
- 259
- フォーク
- 48
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/mindspore-ai/akg --skill vllm-ascend-post-processコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
矩阵乘法矩阵乘法 A[M, K] @ B[K, N] = C[M, N]中,大K维度矩阵乘法(K>>M,N)优化:针对M/N较小但K极大(如M=N=256,K=131072)的场景,Split-K切分K维度并行化、Workspace+Reduce替代全局同步,实现显著性能提升
Triton Ascend hard API restrictions and forbidden syntax. MUST-follow rules that apply to every kernel: forbidden control flow (return/break/continue/lambda/while), tensor slice/index restrictions, scalar conversion rules, BLOCK_SIZE upper bound. Violating any of these produces a compile or runtime error on Ascend.
Triton Ascend 性能优化通用策略: BLOCK_SIZE 选择 (1024-2048 for elementwise, must be <65536), grid configuration (use VEC_CORE_NUM / CUBE_CORE_NUM, 2D/3D grid for matmul / conv / reduce, 1D grid + inner loop for elementwise / pointwise), 256B alignment for memory transfers, autotune block-size patterns, fp16 / fp32 precision conversion. Bind via keywords like matmul, elementwise, reduce, block_size, grid, autotune, alignment, fp16, fp32, tile, interleaved-loop, cube-core, vec-core.
SOC 職業分類に基づく
SKILL.md を表示中
| name | vllm-ascend-post-process |
| description | 后处理优化 - 对vllm-ascend计算结果进行优化处理,包括Triton Kernel优化、NPU算子优化等。 |
| triggers | ["vllm-ascend后处理优化","vllm-ascend post process","vllm-ascend后处理"] |
vllm-ascend 是基于 vllm 二次开发适配 ASCEND (华为昇腾) 的推理框架,使用 PyTorch + NPU 后端,后处理使用 Triton 自定义算子 实现。
vllm-ascend 有两套采样架构:
| Rule | Value |
|---|---|
| 采样架构 | V1 (PyTorch+NPU) / V2 (Triton) |
| 核心文件 | vllm_ascend/worker/v2/sample/ |
| 优化重点 | Triton Kernel、NPU算子、惩罚计算、Gumbel采样 |
文件路径 | 作用 | 关键函数
vllm_ascend/worker/v2/sample/sampler.py | V2采样主入口 | AscendSampler.sample()
vllm_ascend/worker/v2/sample/penalties.py | 核心后处理-惩罚计算 | apply_penalties_and_temperature(), _penalties_and_temperature_kernel (Triton)
vllm_ascend/worker/v2/sample/gumbel.py | Gumbel采样 | gumbel_sample(), _gumbel_sample_kernel (Triton)
vllm_ascend/sample/sampler.py | V1采样实现 | AscendSampler, AscendTopKTopPSampler
csrc/apply_top_k_topp_custom/ | Top-K/Top-P 自定义算子 | NPU融合算子实现
模型输出 Logits
│
▼
┌─────────────────────────────────────────┐
│ 1. 惩罚计算 (penalties.py) │
│ - Repetition Penalty (重复惩罚) │
│ - Frequency Penalty (频率惩罚) │
│ - Presence Penalty (存在惩罚) │
│ - Temperature (温度调节) │
│ - Triton Kernel: _penalties_and_temperature_kernel
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 2. Min-P 过滤 (sampler.py) │
│ - apply_min_p() │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 3. Top-K/Top-P 过滤 (sampler.py) │
│ - apply_top_k_top_p() │
│ - NPU融合算子 / PyTorch原生 │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 4. Gumbel采样 (gumbel.py) │
│ - _gumbel_sample_kernel (Triton) │
└─────────────────────────────────────────┘
│
▼
采样结果
使用 Triton Kernel: _penalties_and_temperature_kernel
三种惩罚的默认生效条件:
已实现短路返回(penalties.py 第58-60行):
if not (use_penalty or use_temperature):
# Early return to avoid loading logits.
return
_gumbel_sample_kernel<existing_optimizations>
torch.ops._C_ascend.npu_apply_top_k_top_p)</existing_optimizations>
按以下检查项进行:
基于背景知识中后处理流程架构,识别后处理相关代码,遍历相关代码,分析当前后处理流程
基于以下优化手段,分析优化机会
对于每个优化点,严格按照以下步骤进行检查,在思考过程中逐个进行
is not None 或类似方式实现了基础的按需计算all() 比较)本身也有开销。确保优化带来的收益大于其成本。输出优化结果,保存为当前目录的opt_result/vllm-ascend-post-process-result.md,必须逐条包含以下内容: