01
算子移植概述
什么是算子移植 · 跨芯片必要性 · NVIDIA/AMD/昇腾/寒武纪架构对比
概念架构
02
开发环境搭建
Docker · CUDA Toolkit · Triton · CANN · Neuware 安装
环境工具链
03
CUDA编程基础回顾
线程/内存层次 · SM与Warp · 流与事件
CUDA基础
04
Triton编程入门
Triton语言 · 块级编程 · 编译器原理 · 与CUDA对比
Triton编译器
05
昇腾Ascend C编程入门
达芬奇架构 · Cube/Vector Unit · Ascend C语法 · 算子流程
昇腾Ascend C
06
寒武纪MLU编程入门
MLU架构 · Task/Cluster · BANG C语法 · 开发流程
寒武纪BANG C
07
算子分析
Element-wise/Reduce/Scan/MatMul/Conv · 计算/访存/并行度分析
分类特征
08
Element-wise算子移植 (上)
ReLU · CUDA/Triton/Ascend C/BANG C 实现
ReLU多平台
09
Element-wise算子移植 (下)
性能对比 · 带宽利用率 · 向量化/循环展开/Bank Conflict
优化性能
10
Reduce算子移植 (上)
Softmax · CUDA Warp/Block Reduce · Triton实现
SoftmaxReduce
11
Reduce算子移植 (下)
昇腾Vector Reduce · 寒武纪BANG C · 数值稳定性
昇腾寒武纪数值
12
Scan算子移植 (上)
Cumsum · Hillis-Steele/Blelloch · Triton实现
ScanCumsum
13
Scan算子移植 (下)
昇腾Ascend C · 寒武纪BANG C · Work-Efficient对比
昇腾寒武纪算法
14
MatMul算子移植 (上)
CUDA Tiling/Shared Memory · Triton块矩阵乘法
MatMulTiling
15
MatMul算子移植 (下)
昇腾Cube Unit · 寒武纪BANG C · FP16/INT8量化
量化Cube
16
卷积算子移植 (上)
im2col · Winograd · CUDA cuDNN风格
卷积im2col
17
卷积算子移植 (下)
昇腾AI Core · 寒武纪BANG C · Direct Convolution
昇腾寒武纪优化
18
LayerNorm & BatchNorm移植
CUDA/Triton/Ascend C/BANG C · 融合优化
归一化融合
19
Attention算子移植 (上)
FlashAttention原理 · CUDA Tiling/Online Softmax
AttentionFlash
20
Attention算子移植 (下)
Triton FlashAttention-2 · 昇腾/寒武纪实现
Triton昇腾寒武纪
21
TopK & Gather算子移植
Radix/Bitonic Select · Triton · Ascend C
TopKGather
22
自定义算子注册与调用
PyTorch/TensorFlow/ONNX Runtime 自定义算子
注册框架
23
算子测试与验证
allclose/ULP · Benchmark · 自动化流水线
测试验证
24
算子调试技巧
CUDA-GDB/Nsight · msprof · cnmon · 常见Bug
调试工具
25
性能分析与Profiling
Nsight Systems/Compute · 昇腾/寒武纪Profiling · Roofline
ProfilingRoofline
26
算子融合优化
Kernel Fusion · Horizontal/Vertical · Triton自动融合
融合优化
27
内存优化
内存池 · Pinned/Unified Memory · 显存复用 · Tensor Core
内存显存
28
多卡通信算子移植
AllReduce (Ring/Tree) · AllGather · ReduceScatter
多卡通信
29
实际案例:LLM推理算子移植
Llama · RMSNorm/SwiGLU/RoPE · KV Cache优化
LLM推理Llama
30
总结与展望
最佳实践 · Chiplet/存算一体/光计算 · 课程总结
趋势总结