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