
曙海教學(xué)優(yōu)勢
本課程面向企事業(yè)項(xiàng)目實(shí)際需要,秉承二十一年積累的教學(xué)品質(zhì),編譯器原理及優(yōu)化培訓(xùn)課程-以項(xiàng)目實(shí)現(xiàn)為導(dǎo)向,老師將會(huì)與您分享設(shè)計(jì)的全流程以及工具的綜合使用經(jīng)驗(yàn)、技巧。線上/線下/上門皆可,編譯器原理及優(yōu)化培訓(xùn)課程-專家,課程可定制,熱線:4008699035。
曙海的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。曙海的課程在業(yè)內(nèi)有著響亮的知名度。大批企業(yè)和曙海
建立了良好的合作關(guān)系,20多年來,合作企事業(yè)單位以達(dá)30多萬。
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 存儲(chǔ)優(yōu)化
1) 數(shù)據(jù)預(yù)取
2) 隱藏存儲(chǔ)延遲
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)用