曙海教學優勢
本課程以項目實現為導向,面向企事業項目實際需要,秉承二十一年積累的教學品質,老師將會與您分享設計的全流程以及工具的綜合使用經驗、技巧。線上/線下/上門皆可,課程可定制,熱線: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的介紹及應用