亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        使用GTC-P應(yīng)用評估曙光E級原型機的性能*

        2020-03-04 07:56:48王一超WilliamTang林新華
        計算機工程與科學(xué) 2020年1期

        王一超,胡 航,William Tang,王 蓓,林新華

        (1.上海交通大學(xué)高性能計算中心,上海 200240; 2.普林斯頓大學(xué)等離子體物理實驗室,新澤西州普林斯頓 08540)

        1 引言

        超級計算機被廣泛應(yīng)用于天氣預(yù)報、基因分析、天體模擬、核物理等高科技領(lǐng)域,對這些研究有著不可或缺的關(guān)鍵性作用。鑒于當前的國際形勢,我國大力推動國產(chǎn)超級計算機的研制,“十三五”計劃中的3臺E級超級計算機原型系統(tǒng)——曙光、神威、天河原型機現(xiàn)已全部交付。其中曙光E級原型機是由中科曙光研制,采用CPU+加速器的異構(gòu)架構(gòu)。CPU采用的是AMD授權(quán)的海光x86處理器,加速器采用的是海光深度計算器DCU(Deep Computing Unit)加速卡[1]。

        本文的工作主要分2部分:(1)采用基準測試集(Benchmark Suite)對曙光E級原型機(以下簡稱原型機)進行了性能評測,測試了其浮點計算能力、訪存帶寬、訪存延遲等關(guān)鍵性能指標,并將其CPU部分與主流的Intel Xeon Gold 6148進行對比;(2)將由普林斯頓大學(xué)開發(fā)的著名高性能計算應(yīng)用GTC-P(Gyrokinetic Toroidal Code at Princeton )[2]移植到原型機上,進行了同構(gòu)和異構(gòu)的并行測試,并與Intel Xeon Gold 6148和NVIDIA V100進行對比。

        本文有以下3個主要貢獻:

        (1)對原型機上的Hygon 7185處理器進行了基準測試,結(jié)合已公開的資料,完善并明確了該處理器的基礎(chǔ)性能指標。通過與Intel主流平臺的對比,為在原型機CPU上進行應(yīng)用移植提供了性能分析依據(jù)。

        (2)基于GTC-P應(yīng)用在原型機CPU上移植后的性能表現(xiàn),并對比Intel主流平臺,分析了該高性能計算應(yīng)用在Hygon平臺上的性能瓶頸,從而評估了原型機CPU的實際性能。

        (3)通過使用ROCm HIP模型將CUDA版本的GTC-P移植到原型機的加速器DCU上,并與最新GPU平臺NVIDIA V100進行了性能對比,評估DCU的應(yīng)用可移植性和實際性能。

        Figure 1 Diagram of Sugon exascale prototype’s node architecture圖1 曙光E級原型機結(jié)點架構(gòu)示意圖

        2 背景介紹

        本文將從GTC-P應(yīng)用、曙光E級原型機架構(gòu)、CPU和加速卡的硬件軟件信息幾個方面進行研究背景介紹。

        2.1 GTC-P應(yīng)用

        GTC-P是由普林斯頓大學(xué)等離子體物理實驗室開發(fā)的質(zhì)點網(wǎng)格法PIC(Particle-In-Cell)程序。該程序具有極佳的可擴展性,在許多超級計算機上進行了性能測試,并已入選美國NERSC國家超級計算中心的基準測試集,具有代表意義[3]。

        其原理為通過求解5D的Vlasov-Poisson方程來模擬粒子和等離子在托克馬克裝置中的運動狀態(tài)。在每個時間步中主要執(zhí)行6個kernel 函數(shù):(1)Charge:通過4點陀螺平均法求解粒子到網(wǎng)絡(luò)的電荷沉積;(2)Poisson:求解陀螺動力學(xué)泊松方程;(3)Field:計算網(wǎng)格電場;(4)Smooth:平滑網(wǎng)格電勢和電荷;(5)Push:計算電場對粒子的作用力,更新粒子的相空間位置;(6)Shift:將被移動的粒子復(fù)制到緩沖區(qū),并移動到相應(yīng)進程[4],PIC算法中粒子與網(wǎng)格數(shù)的比例大約在100~100 000之間[5]。

        2.2 曙光E級原型機

        2.2.1 總體架構(gòu)

        曙光E級原型機共有512個結(jié)點,1 024顆Hygon處理器和512塊DCU加速卡。各結(jié)點之間使用200 Gbps的高速網(wǎng)絡(luò),采用6D-Torus的方式實現(xiàn)高維互連。

        每個結(jié)點有2顆Hygon 7185處理器和1塊DCU加速卡,256 GB的DDR4內(nèi)存,240 GB的M.2 SSD 硬盤。具體架構(gòu)如圖1所示。

        2.2.2 海光CPU

        原型機CPU使用的是AMD授權(quán)的Hygon 7185(后用Hygon Dhyana表示)。該系列芯片是海光公司根據(jù)AMD授權(quán)的EPYC 7001系列“Naples”芯片開發(fā)的針對中國市場的新系列芯片,由海光和AMD的合資公司HMC生產(chǎn)。由于“Naples”芯片是于2017年發(fā)布的,本文選取了與其同一時段發(fā)布的目前主流的商用處理器x86架構(gòu)的Intel Xeon Gold 6148(后用Intel Skylake表示)進行對比測試,其硬件及軟件信息如表1所示。

        2.2.3 海光DCU

        原型機的加速卡為海光公司結(jié)合AMD授權(quán)的GPU技術(shù)制造的DCU。為了解其與目前最新GPU的性能差異,本文用NVIDIA 公司的Tesla V100來與其對比,其軟硬件信息如表2所示。

        Table 2 Comparison of accelerator test platforms表2 加速器測試平臺對比

        曙光原型機的DCU加速卡上使用的編程模型為AMD公司開發(fā)的ROCm(Radeon Open Computing platform)HIP(Heterogeous-compute Interface for Portability)模型。這種模型是用于所有AMD GPU的可替代CUDA的模型,可以實現(xiàn)在源碼級別上對CUDA程序的支持,其技術(shù)棧較多地參考了CUDA技術(shù)棧[6]。

        HIP支持C++語言特性,包括模板、C++11 lambdas、類、命名空間等。HIP讓開發(fā)者可以將CUDA程序轉(zhuǎn)換成可移植的C++程序,轉(zhuǎn)換后的程序在NVIDIA和AMD GPU上都可以編譯運行,只需要在編譯時指定平臺參數(shù)即可。HIP相關(guān)的運行組件都是已編譯好可以直接鏈接使用的動態(tài)庫。

        3 基準測試結(jié)果

        本節(jié)首先用基準測試集對原型機及對比平臺進行了微架構(gòu)測試:使用HPL[7]測試雙精度浮點計算能力,使用STREAM[8]和LMbench[9]測試訪存帶寬及延遲。這些性能數(shù)據(jù)可對GTC-P測試0進行指導(dǎo)和分析。

        3.1 雙精度浮點計算能力

        在評估超級計算機的性能時,通常會優(yōu)選雙精度浮點計算能力作為判斷,因此本文選擇HPL基準測試來顯示其性能,測試結(jié)果如表3所示。

        Table 3 Results of HPL 表3 HPL基準測試結(jié)果 GFLOPS

        由于Hygon Dhyana處理器支持AVX2指令集,我們初始認為該處理器的向量化位寬為256 bit,但其實測雙精度浮點計算性能僅為理論值的39.6%。我們隨后進行了AVX2指令的吞吐量測試以驗證結(jié)果的正確性。

        結(jié)果顯示在使用相同的AVX2指令時,Hygon Dhyana的吞吐量僅為Intel Skylake的0.5倍,故我們推測其雙精度向量化位寬為128 bit,其Linpack效率為79.2%。

        3.2 訪存帶寬與延遲

        我們選擇的是MPI+OpenMP版的STREAM測試程序。(1)測試單路訪存帶寬時,設(shè)置MPI進程數(shù)為1,OpenMP線程數(shù)為單socket核心數(shù),使用GOMP_CPU_AFFINITY參數(shù)將OpenMP線程綁定到對應(yīng)的核心上;(2)測試雙路訪存帶寬時,設(shè)置MPI進程數(shù)為2,分別綁定到對應(yīng)的socket上,在同一socket內(nèi)使用OpenMP線程并行,同樣使用GOMP_CPU_AFFINITY參數(shù)綁定。得到的不同平臺的內(nèi)存訪問帶寬如圖2a所示。

        由于我們在公開資料中未查找到Hygon Dhyana的內(nèi)存通道數(shù),根據(jù)我們實測的訪存帶寬,Hygon Dhyana的Triad帶寬是Intel Skylake的1.49倍,而Intel Skylake的內(nèi)存通道為6通道,故我們推測Hygon Dhyana的內(nèi)存通道為8通道。

        Figure 2 Memory bandwidth and access latency of Hygon Dhyana and Intel Skylake圖2 Hygon Dhyana、Intel Skylake訪存帶寬與延遲

        對于CPU訪存性能來說,除了訪存帶寬之外,訪存延遲也是一項重要指標。我們使用LM-bench基準測試對比了不同平臺各層次的訪存延遲,結(jié)果如圖2b所示。

        Table 1 Comparison of CPU test platforms (open data)表1 CPU測試平臺對比(公開數(shù)據(jù))

        從圖2中可以看到,Hygon Dhyana的訪存延遲在48 KB、512 KB、8 MB時突然增大,隨后穩(wěn)定。我們基于Linux系統(tǒng)工具,結(jié)合訪存延遲實驗觀察到的現(xiàn)象得到了Hygon Dhyana的各級緩存大小,具體的各級內(nèi)存子系統(tǒng)大小及訪問延遲結(jié)果如表4所示。

        綜上所述,由于Hygon Dhyana比Skylake具有更高的帶寬和更低的延遲,Hygon Dhyana對于訪存密集型應(yīng)用在理論性能上更具優(yōu)勢。接下來,我們將利用實際應(yīng)用性能測評對其進行實驗驗證。

        4 同構(gòu)并行GTC-P

        4.1 移植

        Hygon Dhyana處理器兼容x86_64指令集和AVX2指令集,其軟件生態(tài)良好,支持開源編譯器GCC、Intel編譯器ICC和AMD基于Clang開發(fā)的HCC編譯器。對于MPI庫,曙光支持Intel IMPI、Mvapich2、OpenMPI,方便了GTC-P的移植。

        在GTC-P的同構(gòu)并行移植過程中,我們發(fā)現(xiàn)使用Intel ICC編譯器和對應(yīng)的IMPI得到的性能最好,因此在進行CPU性能對比測試時,Hygon平臺和Intel平臺都選用的是Intel ICC編譯器和Intel MPI并行庫。

        GTC-P程序有A、B、C、D 4個不同算例,本次實驗中主要用到的是算例C和算例D,其具體描述如表5所示。

        Table 5 Parameters of different examples of GTC-P表5 GTC-P不同算例的參數(shù)設(shè)置

        4.2 單核性能分析

        我們首先在不同平臺上運行了單MPI進程單OpenMP線程的GTC-P程序,采用的算例是算例C。記錄其運行時間,以確定在不同平臺上熱點kernel函數(shù)及性能表現(xiàn),結(jié)果如圖3a所示。

        測試結(jié)果顯示,單進程的GTC-P在Hygon Dhyana平臺上的運行時間是Skylake的1.6倍,其中主要耗時是在Charge函數(shù)和Push函數(shù),這2個函數(shù)的運行時間占整個應(yīng)用總運行時間的85%以上。

        由于Hygon Dhyana處理器的向量化位寬只有128 bit,是Intel Skylake的1/4,同一時間能進行的浮點計算只有Intel Skylake的1/4,故計算部分耗時會顯著增多。另一方面,Hygon Dhyana的L3 Cache只有Intel Skylake的29%,故GTC-P中的不規(guī)則訪存密集部分在Hygon Dhyana上會有更多的主存訪存操作導(dǎo)致用時增多。

        我們發(fā)現(xiàn)Charge和Push函數(shù)的計算強度均小于2,結(jié)合Hygon Dhyana的峰值浮點性能和訪存帶寬可知,這2個函數(shù)的性能主要受限于訪存性能,因此后續(xù)的原型機上GTC-P的優(yōu)化可以從改善訪存方面實現(xiàn)。

        Figure 3 Runtime comparison of GTC-P on two platforms圖3 GTC-P在2種平臺上的運行時間對比

        4.3 多核性能分析

        針對GTC-P程序在不同平臺上的并行性能做了進一步測試,測試了用MPI和OpenMP混合的GTC-P在曙光單結(jié)點和Intel Skylake上的運行情況,用numactl參數(shù)將MPI進程綁定到NUMA結(jié)點上,并按照單MPI進程的運行時間進行了歸一化,結(jié)果如圖4a所示??梢钥吹?在曙光平臺上,當使用8個MPI進程,每個MPI進程創(chuàng)建8個OpenMP線程時運行時間最短,這是因為Hygon處理器有2個socket,每個socket有4個NUMA結(jié)點,在這種模式下,每個MPI進程正好綁定到1個NUMA結(jié)點上,各OpenMP線程之間的通信都是在同一個NUMA中,基本不會有訪存性能的下降,所以總體性能最優(yōu)。

        Table 4 Test results of memory subsystem size and access latency 表4 內(nèi)存子系統(tǒng)大小及訪問延遲測試結(jié)果

        隨后我們進行了在不同平臺上使用雙路并行運行GTC-P的測試。Hygon Dhyana上使用8個MPI進程8個OpenMP線程,Intel Skylake上使用2個MPI進程20個OpenMP線程,將MPI進程綁定到NUMA結(jié)點上,在同一NUMA結(jié)點內(nèi)使用OpenMP線程進行并行。測試結(jié)果如圖3b所示,在使用2個socket加速時,Hygon Dhyana處理器上GTC-P的用時是Intel Skylake的85%,性能是Intel Skylake的1.18倍。

        在使用雙路并行時,由于Hygon Dhyana處理器雙路訪存帶寬是Intel Skylake的1.49倍,故Charge和Push 2個有較多不規(guī)則訪存操作的函數(shù)用時均少于Intel Skylake的,總體性能Hygon Dhyana略微優(yōu)于Intel Skylake。

        Figure 4 Acceleration performance and strong scalability of GTC-P on Sugon platform圖4 GTC-P在曙光平臺多核加速性能及多結(jié)點強可擴展性

        4.4 多結(jié)點擴展性分析

        為了更好地顯示原型機的性能,還進行了多結(jié)點的MPI并行測試。在單個結(jié)點內(nèi)使用前文中的MPI+OpenMP配置進行并行,在多結(jié)點之間使用MPI進行并行。在本次測試中,由于算例C在較多結(jié)點并行運行時的時間較短,選用了更大的算例D。由于原型機上單個賬號最多能使用30個結(jié)點,本文的擴展性測試只做到了30個結(jié)點,測試結(jié)果如圖4b所示。

        從圖4b中可以發(fā)現(xiàn),在并行運行的結(jié)點數(shù)不超過10時,GTC-P的加速比基本與理論加速比吻合,大致呈線性增加趨勢,說明GTC-P在原型機上多結(jié)點運行時有很好的強可擴展性;在超過10個結(jié)點后,總的運行時間緩慢減少,說明此時結(jié)點之間的通信時間隨著結(jié)點的增多而逐漸占據(jù)主導(dǎo),能通過并行運行減少的計算時間較少,再增加并行的結(jié)點數(shù)對整體性能影響不大,最后加速比大約是理論加速比的62%。這說明原型機的200 Gbps 6D-Torus網(wǎng)絡(luò)對GTC-P這種有較多不規(guī)則訪存的應(yīng)用在較小規(guī)模的并行時有著較好的擴展性,但規(guī)模較大時會由于結(jié)點間通信時間過長導(dǎo)致性能提升不明顯。

        5 異構(gòu)并行GTC-P

        5.1 移植

        Hygon DCU加速卡采用的編程模型是AMD公司開發(fā)的HIP模型,與NVIDIA公司的CUDA編程模型相對應(yīng)[10]。其支持的并行庫中與CUDA相關(guān)的庫在Hygon DCU中支持的均為其轉(zhuǎn)換為HIP之后的庫。Hipify作為一款轉(zhuǎn)譯工具可以將CUDA API轉(zhuǎn)換成HIP API,并自動添加頭文件等。由于該工具只進行了字符串的替換,轉(zhuǎn)換后仍需要手動修改少量代碼。

        除了基本的移植之外,在原CUDA版本的GTC-P程序中應(yīng)用了紋理內(nèi)存來提高程序中的大量局部空間操作的性能,但HIP編程模型目前還不支持紋理內(nèi)存,在移植時關(guān)閉了程序的紋理內(nèi)存功能,使用普通的共享內(nèi)存進行存儲。

        5.2 性能分析

        本文使用算例C測試GPU版GTC-P在原型機上的性能,并將其DCU部分的運行時間和PCIe通信時間與NVIDIA V100平臺的運行時間作對比,分析其加速器的性能指標。對于CPU部分,仍選擇前文中的最優(yōu)配置,并將MPI進程綁定到對應(yīng)的NUMA結(jié)點上。GTC-P的各內(nèi)核函數(shù)在加速器上的運行時間及通信時間如圖5所示。

        Figure 5 Runtime and communication time of GTC-P on Hygon DCU and NVIDIA V100圖5 GTC-P在Hygon DCU、 NVIDIA V100上的運行時間和通信時間

        當NVIDIA V100使用紋理內(nèi)存時,GTC-P的整體性能在DCU上為在NVIDIA V100上的61%。其中,Charge函數(shù)的性能在DCU上為在NVIDIA V100上的38.3%,Push函數(shù)的性能在2個平臺上持平。根據(jù)前文中的硬件信息可知,DCU的雙精度浮點計算性能約為NVIDIA V100的73.1%,而Charge函數(shù)中為了避免數(shù)據(jù)沖突,使用了較多的重復(fù)計算操作,導(dǎo)致DCU的雙精度浮點計算的劣勢放大。Push函數(shù)中有大量的不規(guī)則訪存,對加速器的讀取帶寬要求較高,說明DCU的內(nèi)部訪存性能與NVIDIA V100大致相當。

        不使用紋理內(nèi)存時,GTC-P在NVIDIA V100上的耗時明顯增加,達到了原來的1.29倍,僅為DCU上耗時的78.6%。其中Charge函數(shù)耗時是原來的1.28倍,Push函數(shù)耗時是原來的1.36倍,說明GTC-P程序中有大量的局部空間操作,使用紋理內(nèi)存可以提高性能。后續(xù)實現(xiàn)HIP模型對紋理內(nèi)存的支持可以進一步提高GTC-P在DCU上的性能表現(xiàn)。

        對于加速器的PCIe通信時間,Hygon DCU與NVIDIA V100大致相同,符合前文中測得的CPU與加速器之間的訪存帶寬。

        6 相關(guān)工作

        在CPU的基準性能測試方面。Saini等[11]在基于Intel Haswell和Intel Ivy Bridge處理器的超級計算機上進行了性能測試,使用了STREAM、LMbench、HPCC、HPL、HPCG等一系列基準測試集和4個科學(xué)和工業(yè)應(yīng)用程序?qū)Ρ葍烧叩男阅堋cCormick教授等[12]團隊針對x86多核NUMA架構(gòu)的處理器提出了一系列測量訪存性能的方法,并在Intel和AMD處理器上建立了相關(guān)的訪存性能模型。本文在曙光E級原型機的CPU性能測試上借鑒了其方法。

        在GTC-P應(yīng)用的移植和優(yōu)化方面。普林斯頓大學(xué)Wang等[13]在Mira、Sequoia、Hopper等超級計算機上進行了GTC-P的移植和優(yōu)化,并評估了其可擴展性。上海交通大學(xué)王一超等[4]利用OpenACC在神威“太湖之光”超級計算機上成功移植了GTC-P應(yīng)用并進行了優(yōu)化。

        7 結(jié)束語

        本文首先面向曙光E級原型機進行了性能測試,以指導(dǎo)GTC-P的移植,并與目前主流的CPU—Intel Xeon Gold 6148(Skylake)進行了對比。本文測試了其浮點計算能力、內(nèi)存訪問帶寬和延遲,發(fā)現(xiàn)Hygon 7185處理器的單socket實測浮點計算能力為209.5 GFLOPS,僅為Skylake的22.5%。在訪存帶寬及延遲方面,Hygon處理器的單socket訪存帶寬為126 GB/s,是Skylake的1.45倍;Hygon的L1、L2緩存訪存延遲略高于Skylake的,但L3緩存和主存的訪存延遲低于Skylake的。

        我們在曙光E級原型機上分別移植了同構(gòu)并行和異構(gòu)并行的GTC-P。在CPU上,單核的GTC-P程序的性能是Intel Skylake的62.5%,主要原因是Hygon Dhyana的向量化位寬是Skylake的一半,以及Dhyana的L3高速緩存大小僅為Skylake的29%,導(dǎo)致GTC-P中許多不規(guī)則訪存操作耗時較多。在多結(jié)點擴展性上,使用算例D運行的GTC-P在超過10個結(jié)點后基本已經(jīng)充分加速,再增加結(jié)點數(shù)加速效果并不明顯,最后的加速比約為理論加速比的62%。在DCU上,通過HIP編程模型快速移植了GTC-P應(yīng)用,其整體性能達到了NVIDIA V100上整體性能的61%。

        中文字幕日韩精品中文字幕| 波多野结衣有码| 高h视频在线免费观看| 99亚洲女人私处高清视频| 香蕉久久一区二区不卡无毒影院| 精品日产卡一卡二卡国色天香 | 欧美破处在线观看| 狠狠综合久久av一区二区三区| 欧美顶级少妇作爱| 人妻 日韩精品 中文字幕| 巨臀中文字幕一区二区| 少妇高潮免费在线观看| 精品精品国产高清a毛片| 夫妇交换刺激做爰视频| 禁止免费无码网站| 国产精品久久婷婷六月丁香| 久久精品亚洲精品国产色婷| 八戒网站免费观看视频| 区无码字幕中文色| 亚洲毛片免费观看视频| 欧美亚洲国产一区二区三区| 自拍偷自拍亚洲精品播放| 好爽要高潮了在线观看| 亚洲国产精品一区二区毛片| 精品无码日韩一区二区三区不卡| 日韩欧美国产自由二区| 国产亚洲一区二区毛片| 内射口爆少妇麻豆| 色妺妺视频网| 久久精品这里就是精品| 国产一区亚洲二区三区| 亚洲精品无码成人a片| 亚洲欧洲日韩另类自拍| 蜜臀av在线一区二区尤物| 国产精品9999久久久久仙踪林| 无码丰满少妇2在线观看| av网页在线免费观看| 乱人伦人妻中文字幕不卡| 日本一区二区不卡在线| 亚洲精品久久久久久久久久吃药| 亚洲综合久久久|