GTC-P在大規(guī)模節(jié)點基于OpenACC的移植優(yōu)化研究
發(fā)布時間:2021-02-19 16:32
近年來,隨著GPU等加速器不斷發(fā)展,基于加速器的異構計算正逐漸成為高性能計算的主流。然而集群架構越來越復雜,同一應用,運行在不同體系架構上往往需要開發(fā)多個版本,這給代碼的開發(fā)和維護都帶來了很大的挑戰(zhàn)。OpenACC是基于指令的并行編程模型,為應用在多種平臺上(包括GPU,x86多核處理器)提供了可移植性。GTC-P是基于particle-in-cell(PIC)算法,模擬粒子和等離子通過托卡馬克裝置時運動的科學應用。由于其極佳的可擴展性,GTC-P現(xiàn)已在Top500排名前10的6臺超級計算機上進行了性能測試[1],還入選了美國能源部下屬的NERSC國家超算中心的基準測試集[2]。我們在原有的OpenMP版本GTC-P基礎上,使用OpenACC移植和優(yōu)化GTC-P,并在多平臺、大規(guī)模節(jié)點上進行測試分析。通過移植和一系列優(yōu)化工作,包括數(shù)據(jù)局部性優(yōu)化,線程映射優(yōu)化和CUDA局部代碼優(yōu)化等工作,我們在單節(jié)點上實現(xiàn)了4.2倍加速。我們僅僅用了300行左右的OpenACC指導語句,就實現(xiàn)了CUDA代碼90%以上的性能。而在大規(guī)模節(jié)點測試中,我們在Tita...
【文章來源】:上海交通大學上海市 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:70 頁
【學位級別】:碩士
【部分圖文】:
–1OpenACC加速器抽象模型
[18]。如圖1–2所示,OpenACC 將目標體系結構抽象為三個并行級別的抽象模型:gang,worker 和 vector。每個級別包含一個或多個后續(xù)級別的實例,這意味著每個 gang 將至少包含一個或多個 worker,每個 worker 包含被劃分為多個 vector[18]。實際將這種表示方式映射到低級的加速器編程模型,具體的加速平臺有各自的方式。默認情況下,循— 9 —
Fig 3–1 An illustration of 3D toroidal grid.在 PIC 方法中,泊松方程在網(wǎng)格上求解。在 GTC-P 中,由于磁場間距的關系,我們利用一個高度專用的網(wǎng)格,這個網(wǎng)格遵循磁場線圍繞環(huán)面旋轉(圖3–1)。這使得代碼— 17 —
本文編號:3041385
【文章來源】:上海交通大學上海市 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:70 頁
【學位級別】:碩士
【部分圖文】:
–1OpenACC加速器抽象模型
[18]。如圖1–2所示,OpenACC 將目標體系結構抽象為三個并行級別的抽象模型:gang,worker 和 vector。每個級別包含一個或多個后續(xù)級別的實例,這意味著每個 gang 將至少包含一個或多個 worker,每個 worker 包含被劃分為多個 vector[18]。實際將這種表示方式映射到低級的加速器編程模型,具體的加速平臺有各自的方式。默認情況下,循— 9 —
Fig 3–1 An illustration of 3D toroidal grid.在 PIC 方法中,泊松方程在網(wǎng)格上求解。在 GTC-P 中,由于磁場間距的關系,我們利用一個高度專用的網(wǎng)格,這個網(wǎng)格遵循磁場線圍繞環(huán)面旋轉(圖3–1)。這使得代碼— 17 —
本文編號:3041385
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3041385.html
最近更新
教材專著