曙海教学优势
本课程以项目实现为导向,面向企事业项目实际需要,秉承二十一年积累的教学品质,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。线上/线下/上门皆可,课程可定制,热线:4008699035。
曙海培训的课程培养了大批受企业欢迎的工程师。曙海培训的课程在业内有着响亮的知名度。大批企业和曙海
建立了良好的合作关系,合作企业30万+。
编译器原理及优化技术培训
培训目的
掌握编译技术的原理及优化
课程大纲
1.编译器前端技术分析
1.1 词法分析
1.2 语法分析
1.3 语义分析
1.4 状态机
1.5 符号表
1.6 编译的实现途径-自展
2.中间代码优化
2.1依赖关系分析
1) 基本块
2) 依赖关系种类
3) LiveIn与LiveOut等
4) 数据依赖分析,难点在于跨函数
5) 控制流图 (hell node)
2.2 减少计算量
1) 消除死代码
2) 删除多余计算
3) 代码外提
4) 强度削弱
5) 变换循环控制条件
6) 合并已知量与复写传播
7) Global scheduling
2.3 提高并行性
1) 源语言提供并行性,例如MPI,OpenMP,NESL
2) 循环变换技术:循环合并、循环分布、循环置换、幺模变换、余数变换、 affine partition
3) SPT与value prediction,transaction memory
2.4 存储优化
1) 数据预取
2) 隐藏存储延迟
3) 避免cache代价
4) Loop tiling
5) Array padding
6) Array contraction
7) Code layout
8) Data layout
2.5 运行时优化
1) Post link
2) Code layout
3) 离线优化
4) Java
3 针对体系结构的优化
3.1 数据预取
3.2 指令调度与捆绑
3.3 软件流水与模调度
3.4 结合旋转寄存器的数据预取
3.5 寄存器分配
3.6 If conversion
3.7 数据猜测与控制猜测
3.8 DSWP
4.其他问题
4.1 链接的问题
4.2 二进制兼容
4.3 语言的安全性可靠性
4.4 当前编译和体系结构设计的热点
5.编译GCC和ORC的介绍及应用