自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

超強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

新聞 開發(fā)工具
新代碼在自家芯片上運(yùn)行狀況如何?英特爾自己都沒有別人家的新工具清楚。這就是MIT耗時(shí)一年提出的研究成果,名為Ithemal

新代碼在自家芯片上運(yùn)行狀況如何?英特爾自己都沒有別人家的新工具清楚。

這就是MIT耗時(shí)一年提出的研究成果,名為Ithemal,核心功能也非常簡單:

能夠分析數(shù)以百萬計(jì)自動(dòng)描述的基本塊(計(jì)算指令的基本片段),來確切了解不同的芯片機(jī)構(gòu)如何執(zhí)行計(jì)算。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

效果也非常驚艷。

MIT News透露,傳統(tǒng)基于人工設(shè)計(jì)的模型,預(yù)測代碼在芯片上的運(yùn)行速度,與實(shí)際運(yùn)行速度之間的錯(cuò)誤率高達(dá)50%。

就算是芯片供應(yīng)商,比如英特爾預(yù)測代碼在自己芯片上的運(yùn)行速度,錯(cuò)誤率也達(dá)到20%。而Ithemal,錯(cuò)誤率僅為10%。

性能是傳統(tǒng)方法的5倍,英特爾的2倍。

整個(gè)過程都是自動(dòng)化的,不需要人為干預(yù),就能夠快速分析數(shù)十萬或數(shù)百萬個(gè)基本塊。

并且通用,它可以快速學(xué)習(xí)代碼在任何新的芯片架構(gòu)的性能速度,無論是機(jī)器學(xué)習(xí)煉丹,還是加密技術(shù)上鏈、還是編譯器優(yōu)化等等,都能hold住。

研究人員分享了這樣的一個(gè)使用場景:

如果你想在一個(gè)新的芯片架構(gòu)上訓(xùn)練一個(gè)模型,比如谷歌的TPU,你只需要從這個(gè)架構(gòu)中收集數(shù)據(jù),經(jīng)過分析器運(yùn)行后,去訓(xùn)練Ithemal,你可以得到一個(gè)可以預(yù)測其性能的模型。”

對于充分發(fā)揮芯片性能,讓代碼運(yùn)行更有效率,這是具有突破性意義的一項(xiàng)進(jìn)展。

基于神經(jīng)網(wǎng)絡(luò),避開“盲人摸象”

通常情況下,為了讓代碼能夠在芯片上高效地運(yùn)行,開發(fā)者會(huì)結(jié)合編譯器設(shè)計(jì)一個(gè)性能模型,模擬代碼在芯片架構(gòu)上的運(yùn)行情況。

開發(fā)者會(huì)根據(jù)這些信息進(jìn)一步優(yōu)化代碼,進(jìn)一步提高代碼運(yùn)行效率,突破芯片的性能瓶頸。

這種思路雖然沒什么問題,麻煩出在如何設(shè)計(jì)性能模型上,傳統(tǒng)的方法是一小部分專家來人工設(shè)計(jì)。

面對錯(cuò)綜復(fù)雜的芯片架構(gòu),這多少有些“盲人摸象”的感覺,就英特爾一家,描述其芯片架構(gòu)的文檔, 多達(dá)3000頁。

而且這些內(nèi)容也不一定完整,考慮到商業(yè)競爭以及技術(shù)保密上的考慮,英特爾也會(huì)去刻意忽略一些內(nèi)容,這無疑又加大了困難——盲人摸到的象,可能缺胳膊少腿。

[[312658]]

更別提現(xiàn)代的芯片架構(gòu)設(shè)計(jì)了,不僅不透明,而且及其復(fù)雜,難以理解。想要得到一個(gè)性能模型,很難;想要得到一個(gè)更精確的性能模型,更難。

MIT的方法中,一開始就繞開了“盲人摸象”的困境,而是建立神經(jīng)網(wǎng)路,從“數(shù)據(jù)”中學(xué)習(xí)。

這個(gè)數(shù)據(jù),就是芯片執(zhí)行“基本塊”所需的平均周期數(shù),不需要手動(dòng)添加任何特征。

就算輸入之前沒有“看到”過的基本塊和芯片架構(gòu),訓(xùn)練好的模型也能夠給出數(shù)字,來更準(zhǔn)確地預(yù)測芯片執(zhí)行代碼的速度。

正所謂冰凍三尺,并非一日之寒。

MIT這款強(qiáng)大工具的誕生也是Step By Step

第一步:用“基本塊”訓(xùn)練標(biāo)記數(shù)據(jù)

首先,研究人員提出了一種神經(jīng)網(wǎng)絡(luò)工具——以“基本塊”的形式訓(xùn)練標(biāo)記數(shù)據(jù)。

這樣做的目的就是可以自動(dòng)預(yù)測給定芯片中,執(zhí)行基本塊所需要的時(shí)間。

結(jié)果表明,比起傳統(tǒng)的手工調(diào)整模型,精確度上要高得多。

這個(gè)工具叫做Ithemal,研究還發(fā)表在了ICML 2019上。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

Ithemal的全名叫做“Instruction THroughput Estimator using MAchine Learning”。

受深度神經(jīng)網(wǎng)絡(luò)的靈感,它采用了一種新型的數(shù)據(jù)驅(qū)動(dòng)方法來預(yù)測一條指令塊的吞吐量。

Ithemal將吞吐量估計(jì)問題建模為一個(gè)回歸任務(wù),并利用DNN使用大量標(biāo)記數(shù)據(jù)集將序列映射為實(shí)際值的吞吐量,以此來學(xué)習(xí)如何預(yù)測。

更具體點(diǎn)來說,Ithemal使用分層多尺度RNN,讓每條指令生成一個(gè)獨(dú)立的嵌入,然后依次結(jié)合指令嵌入來預(yù)測吞吐量。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

在所有基準(zhǔn)測試中,平均絕對百分誤差(MAPE)降低了50%以上,同時(shí)仍然提供了較快的估計(jì)速度。

在生成高質(zhì)量的預(yù)測時(shí),Ithemal只需要訓(xùn)練數(shù)據(jù)和ISA的規(guī)范,包括指令規(guī)范及其顯式和隱式操作數(shù)。

并且與分析模型不同,Ithemal不需要任何明確的規(guī)范或建模,只需要學(xué)習(xí)有助于提高吞吐量的任何顯著的微體系結(jié)構(gòu)細(xì)節(jié)即可。

研究人員還將Ithemal相關(guān)資源開源在了GitHub上:
https://github.com/psg-mit/Ithemal

第二步:推出性能模型驗(yàn)證套件

接著,在去年11月的IEEE International Symposium on Workload Characterization大會(huì)上,研究人員提出了一個(gè)基準(zhǔn)測試套件。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

這個(gè)套件由來自不同領(lǐng)域的基本塊組成,包括機(jī)器學(xué)習(xí)、編譯器、密碼學(xué)和圖形,可以用來驗(yàn)證性能模型。

值得注意的是,這項(xiàng)研究是和谷歌合力完成。

他們將30多萬個(gè)數(shù)據(jù)塊匯集到了BHive,這是對x86-64基本塊的性能模型進(jìn)行系統(tǒng)驗(yàn)證的基準(zhǔn)。

研究人員使用BHive評(píng)估了四個(gè)現(xiàn)有的性能模型:IACA,llvm-mca,Ithemal和OSACA。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍
△基本塊和它們的預(yù)測吞吐量

在他們的評(píng)估中,Ithemal預(yù)測英特爾芯片運(yùn)行代碼的速度,要比英特爾自己建立的性能模型還要快。

并且,研究人員的數(shù)據(jù)集很好地捕捉了兩個(gè)Google應(yīng)用程序的基本屬性:Spanner和Dremel。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

到了這一步,開發(fā)人員和編譯器可以使用該工具來生成代碼,這些代碼可以在多樣化“黑盒子”芯片設(shè)計(jì)上更快,更高效地運(yùn)行。

電子工程與計(jì)算機(jī)科學(xué)(EECS)系助理教授Michael Carbin表示:

現(xiàn)代的計(jì)算機(jī)處理器不透明,復(fù)雜得可怕,難以理解。編寫對這些處理器執(zhí)行得盡可能快的計(jì)算機(jī)代碼也面臨著巨大的挑戰(zhàn)。

這個(gè)工具是朝著對這些芯片的性能進(jìn)行完全建模,以此來提高效率的重要一步。

第三步:自動(dòng)生成編譯器優(yōu)化

最后,在去年12月份的NeurIPS 會(huì)議上,研究人員提出了一種自動(dòng)生成編譯器優(yōu)化的新技術(shù)。

具體來說,他們自動(dòng)生成一個(gè)算法,稱為Vemal,將特定的代碼轉(zhuǎn)換為向量,可用于并行計(jì)算。

相對于 LLVM 編譯器(業(yè)界流行的編譯器)中使用的手工矢量化算法,Vemal 的性能要更好。

這項(xiàng)主要就是探討了擬合一個(gè)圖神經(jīng)網(wǎng)絡(luò)策略來模擬由其(整數(shù)線性規(guī)劃)ILP解所做出的最優(yōu)決策是否可行。

最強(qiáng)通用編譯器優(yōu)化工具!MIT打造,準(zhǔn)確率是傳統(tǒng)方法5倍

結(jié)果表明,該策略生成的矢量化方案在靜態(tài)度量和運(yùn)行時(shí)性能上都優(yōu)于行業(yè)標(biāo)準(zhǔn)的編譯啟發(fā)式算法。

來自MIT計(jì)算機(jī)科學(xué)與人工智能實(shí)驗(yàn)室

這三篇論文,都是出自MIT人工智能研究重地——計(jì)算機(jī)科學(xué)與人工智能實(shí)驗(yàn)室,簡稱CSAIL。

核心人物為Charith Mendis,三篇論文中,有兩篇他是一作。

[[312659]]

他出生于斯里蘭卡,讀碩士的時(shí)候來到麻省理工,是ACM Fellow、CSAIL學(xué)術(shù)帶頭人Saman Amarasinghe的關(guān)門弟子——最后一名博士生。

2015年名稱在微軟雷蒙德研究院實(shí)習(xí),主要的研究方向就是編譯器、程序分析與機(jī)器學(xué)習(xí)。

他希望,未來大多數(shù)編譯器優(yōu)化將自動(dòng)生成和學(xué)習(xí),而不是手動(dòng)編寫。它們不僅會(huì)產(chǎn)生更快的代碼,而且將更易于開發(fā)和維護(hù)。

而現(xiàn)在一系列的工作,就是在朝著這個(gè)方向發(fā)展。

而眼前的下一步,他們將會(huì)發(fā)力研究使模型可解釋的方法,來弄清楚為什么特定的模型會(huì)做出預(yù)測。

傳送門

博客地址:
http://news.mit.edu/2020/tool-how-fast-code-run-chip-0106

Ithemal論文地址:
http://proceedings.mlr.press/v97/mendis19a/mendis19a.pdf

BHive論文地址:
http://groups.csail.mit.edu/commit/papers/19/ithemal-measurement.pdf

自動(dòng)生成編譯器優(yōu)化論文地址:
http://papers.nips.cc/paper/9604-compiler-auto-vectorization-with-imitation-learning.pdf

 

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2010-09-16 15:57:25

Java編譯器

2011-05-18 11:06:25

java編譯器

2024-11-13 12:48:30

2024-04-15 11:48:09

2022-04-13 10:31:04

微軟Jigsaw大型語言模型

2023-07-26 15:13:33

人工智能OpenAI

2019-08-06 08:20:07

編譯器工具開發(fā)者

2022-08-02 14:45:16

AI微軟工具

2022-02-23 13:31:26

RVO編譯器優(yōu)化

2021-10-09 12:08:23

Facebook編譯器機(jī)器學(xué)習(xí)

2023-06-28 13:49:12

AI人工智能

2023-11-15 17:58:58

C++代碼

2024-06-06 10:08:32

2023-06-27 09:48:40

谷歌AML AI 工具

2023-04-03 14:25:01

Python編譯

2010-06-04 17:37:45

Linux編程工具

2021-09-17 12:22:21

AI 數(shù)據(jù)人工智能

2024-07-15 08:27:00

2016-01-27 13:37:53

機(jī)器學(xué)習(xí)數(shù)據(jù)模型算法

2023-04-07 22:11:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)