
曙海教學(xué)優(yōu)勢
面向企事業(yè)單位的項(xiàng)目實(shí)際需要,本課程以項(xiàng)目實(shí)現(xiàn)為導(dǎo)向,秉承二十一年教學(xué)品質(zhì),授課老師將會(huì)與您分享設(shè)計(jì)的全流程以及工具的綜合使用技巧以及經(jīng)驗(yàn)。您可以定制課程,線上/線下/上門都可以,報(bào)名熱線:4008699035。
二十多年來,曙海培訓(xùn)的課程培養(yǎng)了大批受歡迎的工程師。曙海的課程在業(yè)內(nèi)廣受好評。大批企事業(yè)單位和曙海
建立了良好的合作關(guān)系,合作企業(yè)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)用