
曙海教學(xué)優(yōu)勢
課程可定制,線上/線下/上門皆可,報(bào)名熱線:4008699035。本課程以項(xiàng)目實(shí)戰(zhàn)案例實(shí)現(xiàn)為主線,面向企事業(yè)單位項(xiàng)目開發(fā)實(shí)際,秉承21年積累的教學(xué)和研發(fā)經(jīng)驗(yàn),培訓(xùn)講師將會與您分享設(shè)計(jì)的全流程以及工具的綜合使用經(jīng)驗(yàn)以及技巧。
  我們的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。曙海培訓(xùn)的課程在業(yè)內(nèi)有廣泛的美譽(yù)度。大批企業(yè)和曙海
     建立了良好的合作關(guān)系,20多年來,合作企事業(yè)單位以達(dá)30多萬。
編譯器原理及優(yōu)化技術(shù)培訓(xùn)
培訓(xùn)目的
掌握編譯技術(shù)的原理及優(yōu)化?
課程大綱
1.編譯器前端技術(shù)分析
???? 1.1 詞法分析
???? 1.2 語法分析
???? 1.3 語義分析
???? 1.4 狀態(tài)機(jī)
???? 1.5 符號表
???? 1.6 編譯的實(shí)現(xiàn)途徑-自展
?2.中間代碼優(yōu)化
???? 2.1依賴關(guān)系分析
???????? 1) 基本塊
???????? 2) 依賴關(guān)系種類
???????? 3) LiveIn與LiveOut等
???????? 4) 數(shù)據(jù)依賴分析,難點(diǎn)在于跨函數(shù)
???????? 5) 控制流圖 (hell node)
???? 2.2 減少計(jì)算量
???????? 1) 消除死代碼
???????? 2) 刪除多余計(jì)算
???????? 3) 代碼外提
???????? 4) 強(qiáng)度削弱
???????? 5) 變換循環(huán)控制條件
???????? 6) 合并已知量與復(fù)寫傳播
???????? 7) Global scheduling
???? 2.3 提高并行性
???????? 1) 源語言提供并行性,例如MPI,OpenMP,NESL
???????? 2) 循環(huán)變換技術(shù):循環(huán)合并、循環(huán)分布、循環(huán)置換、幺模變換、余數(shù)變換、 affine partition
???????? 3) SPT與value prediction,transaction memory
???? 2.4 存儲優(yōu)化
???????? 1) 數(shù)據(jù)預(yù)取
???????? 2) 隱藏存儲延遲
???????? 3) 避免cache代價(jià)
???????? 4) Loop tiling
???????? 5) Array padding
???????? 6) Array contraction
???????? 7) Code layout
???????? 8) Data layout
???? 2.5 運(yùn)行時(shí)優(yōu)化
???????? 1) Post link
???????? 2) Code layout
???????? 3) 離線優(yōu)化
???????? 4) Java
?3 針對體系結(jié)構(gòu)的優(yōu)化
???? 3.1 數(shù)據(jù)預(yù)取
???? 3.2 指令調(diào)度與捆綁
???? 3.3 軟件流水與模調(diào)度
???? 3.4 結(jié)合旋轉(zhuǎn)寄存器的數(shù)據(jù)預(yù)取
???? 3.5 寄存器分配
???? 3.6 If conversion
???? 3.7 數(shù)據(jù)猜測與控制猜測
???? 3.8 DSWP
?4.其他問題
???? 4.1 鏈接的問題
???? 4.2 二進(jìn)制兼容
???? 4.3 語言的安全性可靠性
???? 4.4 當(dāng)前編譯和體系結(jié)構(gòu)設(shè)計(jì)的熱點(diǎn)
?5.編譯GCC和ORC的介紹及應(yīng)用