首页
›
热销单品
›
实战100例单品
›
《AI编译器Pass调优实战100例》
所属分类:实战100例单品
当前为单品课程,可返回上一级继续浏览同方向资料。
← 返回上一级
← 返回所属目录
咨询 / 购买
📘
AI编译器Pass调优实战100例
共计 100 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Pass执行顺序分析
使用opt工具分析给定LLVM IR… · 识别冗余Pass并优化顺序 · 减少编译时间
Pass
执行顺序分析
02
死代码消除增强
实现一个自定义Pass · 在现有DCE基础上增加对不可达代码的… · 并验证效果
死代码消除增强
Pass
03
循环不变式外提优化
编写Pass将循环内不变计算外提 · 并对比优化前后的IR和运行时间
循环不变式外提优…
Pass
04
全局值编号实现
实现一个简单的全局值编号Pass · 消除冗余计算 · 并测试其正确性
全局值编号实现
Pass
05
指令合并优化
实现Pass将连续的算术指令合并为单… · 减少指令数
指令合并优化
Pass
06
函数内联策略调优
调整内联Pass的参数(如阈值) · 分析不同策略对性能和代码大小的影响
函数内联策略调优
Pass
07
循环展开因子选择
通过实验确定不同循环展开因子对性能的… · 并实现自动选择因子的Pass
循环展开因子选择
通过实验确定不同…
08
向量化Pass调优
调整LoopVectorizePas… · 使特定循环成功向量化 · 并验证加速比
Pass
向量化
09
SLP向量化优化
实现或调优SLP向量化Pass · 对基本块中的相似操作进行向量化
SLP
向量化优化
10
LICM与别名分析结合
利用别名分析改进LICM · 安全地外提更多循环不变式
LICM
别名分析结合
11
尾调用优化实现
实现尾调用优化Pass · 将尾递归转换为循环 · 并测试性能提升
尾调用优化实现
Pass
12
常量传播与折叠增强
扩展常量传播Pass · 处理更多场景(如条件常量) · 并验证优化效果
常量传播
折叠增强
13
部分冗余消除
实现PRE Pass · 消除部分冗余计算 · 并对比优化前后IR
部分冗余消除
PRE
14
支配树优化应用
利用支配树信息优化Pass · 如提升代码放置位置 · 减少分支
支配树优化应用
Pass
15
寄存器分配优化
调优寄存器分配器(如greedy)的… · 减少溢出 · 提高性能
寄存器分配优化
greedy
16
指令调度优化
实现或调优指令调度Pass · 减少流水线停顿 · 提高ILP
指令调度优化
Pass
17
内存访问优化
实现Pass将循环内不变量内存访问外… · 或合并连续访问
内存访问优化
Pass
18
数据预取优化
在循环中插入预取指令 · 通过实验确定最佳预取距离
数据预取优化
循环
19
分支优化
实现Pass将条件分支转换为无分支代… · 减少分支预测失败
分支优化
Pass
20
函数属性推断
实现Pass推断函数属性(如read… · nosync) · 并利用属性优化调用点
函数属性推断
Pass
21
参数属性优化
分析函数参数的使用 · 添加nocapture等属性 · 并优化调用约定
参数属性优化
分析函数参数的使…
22
全局优化模块
实现跨函数优化Pass · 如全局常量传播 · 并评估效果
全局优化模块
Pass
23
IPO优化实践
利用ThinLTO或常规LTO进行跨… · 并分析性能提升
IPO
优化实践
24
Profile Guided Optimization
使用PGO优化一个程序 · 对比优化前后的性能 · 并调整采样频率
Profile
Guided
25
控制流图简化
实现Pass简化CFG · 如合并基本块 · 消除不可达块
控制流图简化
Pass
26
Switch优化
优化switch语句 · 将其转换为查找表或二叉比较树 · 并比较性能
Switch
优化
27
间接调用优化
实现Pass将间接调用转换为直接调用… · 并测试
间接调用优化
Pass
28
虚函数调用优化
利用devirtualization… · 并分析效果
虚函数调用优化
devirtualiza…
29
异常处理优化
优化异常处理路径 · 减少开销 · 如使用seh或强制内联
异常处理优化
优化异常处理路径
30
原子操作优化
实现Pass将原子操作替换为更高效的… · 并验证
原子操作优化
Pass
31
内存分配优化
实现Pass将malloc/free… · 并评估性能
内存分配优化
Pass
32
循环融合优化
实现循环融合Pass · 将多个可融合循环合并 · 减少循环开销
循环融合优化
Pass
33
循环分发优化
实现循环分发Pass · 根据条件将循环分发为多个版本 · 提高优化机会
循环分发优化
Pass
34
循环剥离优化
实现循环剥离Pass · 将循环首尾迭代剥离以优化对齐等
循环剥离优化
Pass
35
循环版本化优化
实现循环版本化Pass · 为不同运行时条件生成不同版本
循环版本化优化
Pass
36
循环旋转优化
实现循环旋转Pass · 将条件分支移出循环 · 便于其他优化
循环旋转优化
Pass
37
循环展开与Jam
实现循环展开与Jam Pass · 提高数据局部性
Jam
循环展开
38
循环分布优化
实现循环分布Pass · 将大循环拆分为多个小循环 · 提高缓存利用率
循环分布优化
Pass
39
循环交换优化
实现循环交换Pass · 优化嵌套循环的访问模式
循环交换优化
Pass
40
循环逆优化
实现循环逆优化Pass · 将for循环转换为while循环 · 便于优化
循环逆优化
Pass
41
循环不变代码外提增强
在LICM基础上增加对条件不变代码的… · 并测试
循环不变代码外提…
LICM
42
循环强度削减
实现循环强度削减Pass · 将乘法替换为加法 · 并验证
循环强度削减
Pass
43
循环归纳变量优化
优化归纳变量 · 消除不必要的变量 · 简化循环
循环归纳变量优化
优化归纳变量
44
循环终止条件优化
优化循环终止条件 · 如将比较替换为计数器递减
循环终止条件优化
优化循环终止条件
45
循环边界分析
实现Pass分析循环边界 · 用于优化数组访问和预取
循环边界分析
Pass
46
循环访问分析
分析循环中的内存访问模式 · 识别可向量化或可缓存优化的访问
循环访问分析
分析循环
47
循环依赖分析
实现循环依赖分析Pass · 用于判断循环并行化可行性
循环依赖分析
Pass
48
循环并行化
实现OpenMP并行化Pass · 将可并行循环转换为并行循环
循环并行化
OpenMP
49
GPU循环优化
针对GPU架构优化循环 · 如循环展开和向量化 · 并评估性能
GPU
循环优化
50
SIMD指令选择优化
调优指令选择Pass · 使代码生成更高效的SIMD指令
SIMD
指令选择优化
51
NEON优化
针对ARM NEON优化代码 · 如使用内建函数或自动向量化
NEON
优化
52
AVX优化
针对x86 AVX指令集优化代码 · 提高浮点运算性能
AVX
优化
53
GPU内存访问优化
优化GPU内核中的内存访问模式 · 如合并访问
GPU
内存访问优化
54
GPU线程配置优化
通过实验确定最佳线程块大小 · 并实现自动配置Pass
GPU
线程配置优化
55
GPU共享内存优化
优化使用共享内存的GPU代码 · 减少bank冲突
GPU
共享内存优化
56
GPU寄存器优化
调整GPU代码的寄存器使用 · 减少寄存器溢出
GPU
寄存器优化
57
GPU循环展开优化
针对GPU循环展开进行调优 · 提高指令级并行
GPU
循环展开优化
58
GPU条件分支优化
优化GPU代码中的条件分支 · 减少线程发散
GPU
条件分支优化
59
GPU数据预取优化
在GPU代码中插入预取指令 · 隐藏内存延迟
GPU
数据预取优化
60
GPU内核融合优化
将多个GPU内核融合为一个 · 减少内核启动开销
GPU
内核融合优化
61
GPU内核参数优化
优化内核参数传递 · 如使用常量内存
GPU
内核参数优化
62
GPU内存布局优化
优化数据结构布局 · 如使用结构体数组 · 提高访问效率
GPU
内存布局优化
63
GPU原子操作优化
优化GPU原子操作 · 减少竞争 · 如使用私有化
GPU
原子操作优化
64
GPU归约优化
实现高效的GPU归约算法 · 如树形归约
GPU
归约优化
65
GPU扫描优化
实现高效的GPU扫描(prefix…
GPU
扫描优化
66
GPU排序优化
实现或调优GPU排序算法 · 如基数排序
GPU
排序优化
67
GPU矩阵乘法优化
优化GPU矩阵乘法 · 使用分块和共享内存
GPU
矩阵乘法优化
68
GPU卷积优化
优化GPU卷积操作 · 使用im2col或Winograd
GPU
卷积优化
69
GPU深度学习算子优化
针对深度学习框架中的算子进行GPU优…
GPU
深度学习算子优化
70
TPU算子优化
针对TPU架构优化算子 · 如矩阵乘和卷积
TPU
算子优化
71
NPU算子优化
针对NPU架构优化算子 · 如激活函数和池化
NPU
算子优化
72
FPGA算子优化
针对FPGA实现算子优化 · 如流水线设计
FPGA
算子优化
73
自定义硬件加速器优化
针对自定义加速器优化代码 · 如使用特定指令
自定义硬件加速器…
针对自定义加速器…
74
多线程优化
使用OpenMP或pthread优化… · 减少同步开销
多线程优化
OpenMP
75
任务并行优化
使用TBB或任务库优化任务并行程序
任务并行优化
TBB
76
数据并行优化
使用MPI优化分布式数据并行程序
数据并行优化
MPI
77
流水线并行优化
实现流水线并行 · 提高吞吐量
流水线并行优化
实现流水线并行
78
内存层次优化
优化数据布局以利用缓存 · 如循环分块
内存层次优化
优化数据布局以利…
79
缓存阻塞优化
实现循环分块Pass · 提高缓存命中率
缓存阻塞优化
Pass
80
数据对齐优化
优化数据对齐 · 如使用alignas · 提高内存访问效率
数据对齐优化
优化数据对齐
81
内存合并优化
优化内存访问模式 · 合并非连续访问
内存合并优化
优化内存访问模式
82
内存池优化
实现内存池Pass · 减少malloc/free开销
内存池优化
Pass
83
栈上内存优化
将堆分配转换为栈分配 · 减少分配开销
栈上内存优化
将堆分配转换为栈…
84
全局变量优化
优化全局变量的访问 · 如使用线程局部存储
全局变量优化
优化全局变量的访…
85
结构体优化
优化结构体布局 · 如字段重排 · 减少填充
结构体优化
优化结构体布局
86
数组优化
优化数组访问 · 如使用行主序或列主序
数组优化
优化数组访问
87
字符串优化
优化字符串操作 · 如使用SSE指令
字符串优化
优化字符串操作
88
数学函数优化
优化数学函数 · 如使用快速近似或查表
数学函数优化
优化数学函数
89
位操作优化
优化位操作 · 如使用位运算代替乘除
位操作优化
优化位操作
90
分支预测优化
优化分支预测 · 如使用likely/unlikely
分支预测优化
优化分支预测
91
异常处理开销优化
减少异常处理开销 · 如使用错误码
异常处理开销优化
减少异常处理开销
92
RTTI优化
优化运行时类型识别 · 如使用虚函数代替dynamic_ca…
RTTI
优化
93
虚函数表优化
优化虚函数表布局 · 减少缓存未命中
虚函数表优化
优化虚函数表布局
94
模板实例化优化
减少模板实例化数量 · 如使用extern模板
模板实例化优化
减少模板实例化数…
95
编译时间优化
优化编译时间 · 如使用预编译头或减少模板
编译时间优化
优化编译时间
96
代码大小优化
优化代码大小 · 如使用-Os并调整Pass
代码大小优化
优化代码大小
97
启动时间优化
优化程序启动时间 · 如延迟初始化
启动时间优化
优化程序启动时间
98
功耗优化
优化代码以降低功耗 · 如减少不必要的计算
功耗优化
优化代码以降低功…
99
实时性优化
优化代码以满足实时性要求 · 如减少最坏情况执行时间
实时性优化
优化代码以满足实…
100
安全性优化
优化代码以增强安全性 · 如添加边界检查
安全性优化
优化代码以增强安…
所属VIP或分类
同VIP:3D打印Klipper固件开发实战100例
同VIP:45天精通Rust编程实战100例
同VIP:AE自动曝光算法设计实战100例