可壓縮NS方程求解軟件性能優(yōu)化與并行技術(shù)研究
發(fā)布時(shí)間:2023-08-08 18:42
計(jì)算流體力學(xué)(computational fluid dynamics,簡稱CFD)作為一門綜合流體力學(xué)、數(shù)學(xué)、計(jì)算機(jī)科學(xué)的重要學(xué)科,在航空、汽車、呼吸和血液流動(dòng)、化學(xué)工程等流體工程領(lǐng)域的應(yīng)用越來越廣泛。隨著計(jì)算精度的提高和計(jì)算規(guī)模的不斷擴(kuò)大,CFD應(yīng)用的計(jì)算量也急劇增大,在現(xiàn)代高性能計(jì)算機(jī)上對(duì)CFD應(yīng)用進(jìn)行性能優(yōu)化并實(shí)現(xiàn)大規(guī)模并行計(jì)算已經(jīng)成為了一項(xiàng)新的重要課題。CNS(Compressible Navier-Stokes)是用于求解在流體力學(xué)中有著重要地位的可壓縮NS方程的CFD應(yīng)用軟件,在航空航天空氣動(dòng)力學(xué)數(shù)值模擬領(lǐng)域具有良好的應(yīng)用背景,在實(shí)際應(yīng)用中需要進(jìn)行性能優(yōu)化才能更好地發(fā)揮作用。本文基于高性能多核及眾核平臺(tái),實(shí)現(xiàn)了對(duì)CNS程序的性能優(yōu)化以及相關(guān)并行技術(shù)的研究。工作主要分為三個(gè)部分:(1)在通用CPU平臺(tái)上,對(duì)CNS程序進(jìn)行串行計(jì)算性能優(yōu)化。針對(duì)程序訪存密集、cache命中率不高、熱點(diǎn)子程序無法實(shí)現(xiàn)編譯器自動(dòng)向量化,從編譯選項(xiàng)、訪存、數(shù)值計(jì)算等方面進(jìn)行優(yōu)化,在Ivy bridge處理器上性能提升了1.49倍;Fortran90之后的標(biāo)準(zhǔn)不支持向量化,因此先對(duì)熱點(diǎn)子程序進(jìn)行C語言...
【文章頁數(shù)】:63 頁
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 研究背景
1.1.1 計(jì)算流體力學(xué)簡介
1.1.2 異構(gòu)眾核并行體系結(jié)構(gòu)
1.1.3 向量化編程
1.1.4 MPI/OpenMP兩級(jí)并行編程
1.2 研究現(xiàn)狀
1.2.1 CFD應(yīng)用在CPU+MIC異構(gòu)系統(tǒng)上的并行加速研究
1.2.2 C/Fortran混合編程
1.2.3 向量化編程
1.2.4 OpenMP程序性能優(yōu)化
1.3 本文工作
1.4 論文結(jié)構(gòu)
第二章 串行程序計(jì)算性能優(yōu)化
2.1 CNS程序特點(diǎn)分析
2.1.1 程序計(jì)算流程
2.1.2 熱點(diǎn)函數(shù)分析
2.1.3 微體系結(jié)構(gòu)級(jí)計(jì)算分析
2.1.4 自動(dòng)向量化分析
2.2 單核性能優(yōu)化
2.2.1 最佳編譯器選項(xiàng)選擇
2.2.2 訪存優(yōu)化
2.2.3 數(shù)值計(jì)算優(yōu)化
2.2.4 性能測(cè)試
2.3 C/Fortran混合編程
2.3.1 Fortran程序調(diào)用C函數(shù)
2.3.2 共享標(biāo)量和固定大小數(shù)組
2.3.3 共享動(dòng)態(tài)數(shù)組
2.3.4 性能測(cè)試
2.4 intrinsic向量化并行
2.4.1 intrinsic向量化簡介
2.4.2 熱點(diǎn)函數(shù)的intrinsic向量化改寫
2.4.3 intrinsic向量化優(yōu)化
2.4.4 性能測(cè)試
2.5 本章小結(jié)
第三章 基于OpenMP的節(jié)點(diǎn)內(nèi)多線程并行
3.1 針對(duì)熱點(diǎn)循環(huán)的OpenMP并行
3.1.1 簡單循環(huán)級(jí)OpenMP并行編程
3.1.2 并行區(qū)的合并和擴(kuò)展
3.2 基于NUMA架構(gòu)的OpenMP并行優(yōu)化方法
3.2.1 線程與處理器綁定
3.2.2 SPMD方式編程
3.3 性能測(cè)試
3.4 本章小結(jié)
第四章 基于OpenMP4.0的CPU+MIC異構(gòu)協(xié)同并行
4.1 CPU+MIC異構(gòu)移植的實(shí)現(xiàn)
4.1.1 移植過程介紹
4.1.2 性能測(cè)試
4.2 CPU+MIC異構(gòu)體系上的性能優(yōu)化
4.2.1 數(shù)據(jù)傳輸優(yōu)化
4.2.2 負(fù)載均衡優(yōu)化
4.2.3 性能測(cè)試
4.3 本章小結(jié)
第五章 總結(jié)與展望
5.1 工作總結(jié)
5.2 未來工作展望
致謝
參考文獻(xiàn)
作者在學(xué)期間取得的學(xué)術(shù)成果
本文編號(hào):3840280
【文章頁數(shù)】:63 頁
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 研究背景
1.1.1 計(jì)算流體力學(xué)簡介
1.1.2 異構(gòu)眾核并行體系結(jié)構(gòu)
1.1.3 向量化編程
1.1.4 MPI/OpenMP兩級(jí)并行編程
1.2 研究現(xiàn)狀
1.2.1 CFD應(yīng)用在CPU+MIC異構(gòu)系統(tǒng)上的并行加速研究
1.2.2 C/Fortran混合編程
1.2.3 向量化編程
1.2.4 OpenMP程序性能優(yōu)化
1.3 本文工作
1.4 論文結(jié)構(gòu)
第二章 串行程序計(jì)算性能優(yōu)化
2.1 CNS程序特點(diǎn)分析
2.1.1 程序計(jì)算流程
2.1.2 熱點(diǎn)函數(shù)分析
2.1.3 微體系結(jié)構(gòu)級(jí)計(jì)算分析
2.1.4 自動(dòng)向量化分析
2.2 單核性能優(yōu)化
2.2.1 最佳編譯器選項(xiàng)選擇
2.2.2 訪存優(yōu)化
2.2.3 數(shù)值計(jì)算優(yōu)化
2.2.4 性能測(cè)試
2.3 C/Fortran混合編程
2.3.1 Fortran程序調(diào)用C函數(shù)
2.3.2 共享標(biāo)量和固定大小數(shù)組
2.3.3 共享動(dòng)態(tài)數(shù)組
2.3.4 性能測(cè)試
2.4 intrinsic向量化并行
2.4.1 intrinsic向量化簡介
2.4.2 熱點(diǎn)函數(shù)的intrinsic向量化改寫
2.4.3 intrinsic向量化優(yōu)化
2.4.4 性能測(cè)試
2.5 本章小結(jié)
第三章 基于OpenMP的節(jié)點(diǎn)內(nèi)多線程并行
3.1 針對(duì)熱點(diǎn)循環(huán)的OpenMP并行
3.1.1 簡單循環(huán)級(jí)OpenMP并行編程
3.1.2 并行區(qū)的合并和擴(kuò)展
3.2 基于NUMA架構(gòu)的OpenMP并行優(yōu)化方法
3.2.1 線程與處理器綁定
3.2.2 SPMD方式編程
3.3 性能測(cè)試
3.4 本章小結(jié)
第四章 基于OpenMP4.0的CPU+MIC異構(gòu)協(xié)同并行
4.1 CPU+MIC異構(gòu)移植的實(shí)現(xiàn)
4.1.1 移植過程介紹
4.1.2 性能測(cè)試
4.2 CPU+MIC異構(gòu)體系上的性能優(yōu)化
4.2.1 數(shù)據(jù)傳輸優(yōu)化
4.2.2 負(fù)載均衡優(yōu)化
4.2.3 性能測(cè)試
4.3 本章小結(jié)
第五章 總結(jié)與展望
5.1 工作總結(jié)
5.2 未來工作展望
致謝
參考文獻(xiàn)
作者在學(xué)期間取得的學(xué)術(shù)成果
本文編號(hào):3840280
本文鏈接:http://sikaile.net/kejilunwen/yysx/3840280.html
最近更新
教材專著