曙海教学优势
课程可定制,线上/线下/上门皆可,报名热线:4008699035。本课程以项目实战案例实现为主线,面向企事业单位项目开发实际,秉承21年积累的教学和研发经验,培训讲师将会与您分享设计的全流程以及工具的综合使用经验以及技巧。
我们的课程培养了大批受企业欢迎的工程师。曙海培训的课程在业内有广泛的美誉度。大批企业和曙海
建立了良好的合作关系,20多年来,合作企事业单位以达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的介绍及应用