多線程多SIMD自動向量化技術(shù)研究
發(fā)布時間:2022-10-11 18:34
當(dāng)前,主流通用微處理器都已經(jīng)實現(xiàn)了多核并行以及處理器核內(nèi)的SIMD并行。多線程并行且每個線程盡可能地利用SIMD并行是充分開發(fā)此類微處理器性能的必然選擇。多核多SIMD體系結(jié)構(gòu)的發(fā)展需要與之相適應(yīng)的編程模型和編譯優(yōu)化技術(shù)。本文研究多線程多SIMD并行下的自動向量化技術(shù)。OpenMP編程接口和編譯實現(xiàn)是廣泛使用的多線程并行機制,典型編譯器都可以在支持OpenMP并行的同時實現(xiàn)面向SIMD的自動向量化,但是效果還不是很理想。本文首先介紹了面向SIMD并行的自動向量化技術(shù),基于GCC編譯器剖析了自動向量化編譯框架,并詳細(xì)分析了自動向量化的實現(xiàn)過程。其次,通過對典型并行循環(huán)的測試分析,發(fā)現(xiàn)GCC目前已支持多種多線程并行下的自動向量化,但是對于一些賦值類循環(huán),編譯結(jié)果顯示不能進(jìn)行自動向量化。之后,針對GCC編譯器的OpenMP編譯實現(xiàn)和自動向量化編譯實現(xiàn),本文分析了OpenMP編譯實現(xiàn)過程,著重分析了GCC編譯器的自動向量化代價模型。自動向量化代價模型抽象出了自動向量化所要考慮的諸多因素。通過分析,發(fā)現(xiàn)GCC中自動向量化及代價模型對多線程程序的數(shù)據(jù)對齊屬性判斷不準(zhǔn)確,導(dǎo)致自動向量化代價模型對多線...
【文章頁數(shù)】:73 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 多核多SIMD體系結(jié)構(gòu)
1.1.1 多核體系結(jié)構(gòu)
1.1.2 SIMD體系結(jié)構(gòu)
1.1.3 多核多SIMD體系結(jié)構(gòu)
1.2 多線程多SIMD編程模型和編譯優(yōu)化技術(shù)
1.2.1 并行編程模型
1.2.2 自動向量化技術(shù)
1.3 國內(nèi)外研究現(xiàn)狀
1.4 研究內(nèi)容及意義
1.4.1 研究內(nèi)容
1.4.2 研究意義
1.5 論文結(jié)構(gòu)
第二章 自動向量化技術(shù)
2.1 自動向量化
2.1.1 基于循環(huán)的自動向量化
2.1.2 基于基本塊的自動向量化
2.2 GCC的編譯結(jié)構(gòu)
2.2.1 GCC的中間表示
2.2.2 Tree-SSA優(yōu)化框架
2.3 GCC的自動向量化
2.3.1 循環(huán)分析
2.3.2 循環(huán)變換
2.4 本章小節(jié)
第三章 多線程多SIMD自動向量化
3.1 多線程多SIMD自動向量化
3.2 GOMP
3.3 GCC的自動向量化代價模型
3.3.1 最小有收益迭代數(shù)
3.3.2 語句表達(dá)式的開銷
3.3.3 向量化因子
3.3.4 向量迭代的內(nèi)部開銷
3.3.5 向量循環(huán)的外部開銷
3.3.6 剝離的迭代數(shù)
3.3.7 標(biāo)量迭代的內(nèi)部開銷
3.3.8 標(biāo)量循環(huán)的外部開銷
3.4 GCC的自動向量化局限性
3.5 本章小節(jié)
第四章 基于數(shù)據(jù)對齊屬性指導(dǎo)的GCC自動向量化優(yōu)化
4.1 數(shù)據(jù)對齊屬性指導(dǎo)子句的設(shè)計
4.2 數(shù)據(jù)對齊屬性指導(dǎo)子句的實現(xiàn)
4.2.1 前端分析
4.2.2 GENERIC表示轉(zhuǎn)換為GIMPLE表示
4.2.3 OpenMP結(jié)構(gòu)降低
4.2.4 OpenMP代碼擴展
4.2.5 基于數(shù)據(jù)對齊屬性指導(dǎo)的代價計算
4.3 本章小節(jié)
第五章 實驗與分析
5.1 實驗環(huán)境
5.2 實驗驗證
5.2.1 中間表示的轉(zhuǎn)換
5.2.2 實驗結(jié)果
5.3 實驗效果及分析
5.4 本章小節(jié)
第六章 結(jié)束語
6.1 工作總結(jié)
6.2 工作展望
致謝
參考文獻(xiàn)
作者在學(xué)期間取得的學(xué)術(shù)成果
【參考文獻(xiàn)】:
期刊論文
[1]基于數(shù)據(jù)對齊屬性指導(dǎo)的GCC自動向量化優(yōu)化[J]. 李春江,黃娟娟,徐穎,董鈺山. 計算機工程與科學(xué). 2014(06)
[2]基于編譯指示的向量化方法[J]. 姚遠(yuǎn),趙榮彩. 計算機工程. 2012(12)
本文編號:3691079
【文章頁數(shù)】:73 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 多核多SIMD體系結(jié)構(gòu)
1.1.1 多核體系結(jié)構(gòu)
1.1.2 SIMD體系結(jié)構(gòu)
1.1.3 多核多SIMD體系結(jié)構(gòu)
1.2 多線程多SIMD編程模型和編譯優(yōu)化技術(shù)
1.2.1 并行編程模型
1.2.2 自動向量化技術(shù)
1.3 國內(nèi)外研究現(xiàn)狀
1.4 研究內(nèi)容及意義
1.4.1 研究內(nèi)容
1.4.2 研究意義
1.5 論文結(jié)構(gòu)
第二章 自動向量化技術(shù)
2.1 自動向量化
2.1.1 基于循環(huán)的自動向量化
2.1.2 基于基本塊的自動向量化
2.2 GCC的編譯結(jié)構(gòu)
2.2.1 GCC的中間表示
2.2.2 Tree-SSA優(yōu)化框架
2.3 GCC的自動向量化
2.3.1 循環(huán)分析
2.3.2 循環(huán)變換
2.4 本章小節(jié)
第三章 多線程多SIMD自動向量化
3.1 多線程多SIMD自動向量化
3.2 GOMP
3.3 GCC的自動向量化代價模型
3.3.1 最小有收益迭代數(shù)
3.3.2 語句表達(dá)式的開銷
3.3.3 向量化因子
3.3.4 向量迭代的內(nèi)部開銷
3.3.5 向量循環(huán)的外部開銷
3.3.6 剝離的迭代數(shù)
3.3.7 標(biāo)量迭代的內(nèi)部開銷
3.3.8 標(biāo)量循環(huán)的外部開銷
3.4 GCC的自動向量化局限性
3.5 本章小節(jié)
第四章 基于數(shù)據(jù)對齊屬性指導(dǎo)的GCC自動向量化優(yōu)化
4.1 數(shù)據(jù)對齊屬性指導(dǎo)子句的設(shè)計
4.2 數(shù)據(jù)對齊屬性指導(dǎo)子句的實現(xiàn)
4.2.1 前端分析
4.2.2 GENERIC表示轉(zhuǎn)換為GIMPLE表示
4.2.3 OpenMP結(jié)構(gòu)降低
4.2.4 OpenMP代碼擴展
4.2.5 基于數(shù)據(jù)對齊屬性指導(dǎo)的代價計算
4.3 本章小節(jié)
第五章 實驗與分析
5.1 實驗環(huán)境
5.2 實驗驗證
5.2.1 中間表示的轉(zhuǎn)換
5.2.2 實驗結(jié)果
5.3 實驗效果及分析
5.4 本章小節(jié)
第六章 結(jié)束語
6.1 工作總結(jié)
6.2 工作展望
致謝
參考文獻(xiàn)
作者在學(xué)期間取得的學(xué)術(shù)成果
【參考文獻(xiàn)】:
期刊論文
[1]基于數(shù)據(jù)對齊屬性指導(dǎo)的GCC自動向量化優(yōu)化[J]. 李春江,黃娟娟,徐穎,董鈺山. 計算機工程與科學(xué). 2014(06)
[2]基于編譯指示的向量化方法[J]. 姚遠(yuǎn),趙榮彩. 計算機工程. 2012(12)
本文編號:3691079
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3691079.html
最近更新
教材專著