999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CPU-GPU異構平臺的高層結構地震響應分析方法研究

2014-09-07 03:52:22李紅豫李祚華
振動與沖擊 2014年13期
關鍵詞:有限元結構

李紅豫,滕 軍,李祚華

(哈爾濱工業大學 深圳研究生院,廣東 深圳 518055)

我國是地震多發的國家,需要對工程結構進行地震響應分析來確保結構在地震作用下有足夠的抗震安全性能。隨著工程結構朝著大型化、復雜化發展,對工程結構抗震分析的計算精度和速度要求日益提高。然而傳統的有限元分析方法均是基于CPU(Central Processor Unit,中央處理器)串行平臺,大規模計算在串行平臺上耗時長、精度低成為結構有限元分析的主要障礙。并行計算可以有效解決以上弊端,能在合理的時間內滿足精度要求完成大型結構的分析。目前,大規模并行計算普遍采用基于MPI的集群并行系統,但是這種并行計算體系龐大復雜、價格昂貴、可擴展性差,因此在地震工程中的應用受到限制。

近年來,GPU(Graphics Processor Unit,圖形處理器)已大大超過摩爾定律的速度高速發展。由于GPU具有強大的并行計算能力,基于GPU平臺的高性能并行計算已經成為國內外研究的熱點[1-4]。2007年NVIDIA公司發布的CUDA(Compute Unified Device Architecture,計算統一設備架構)可以有效控制GPU進行編程。這種基于GPU的編程方法給我們解決并行計算問題提供了一種新的思路。

目前,基于GPU的有限元計算應用的研究仍處于初級階段,研究主要集中于有限元靜力問題中涉及大型稀疏線性系統問題的并行計算方法上[5-9],對于結構有限元動力計算問題研究較少。

本文基于CUDA架構建立了適用于結構有限元分析的CPU-GPU異構平臺。在該平臺上研究基于GPU的高層結構地震響應分析算法。通過空間框架結構的算例,驗證了本文所提方法在保證計算高精度的條件下,相比傳統CPU串行方法具有較高提速性能。

1 CPU-GPU異構平臺構建

所謂CPU-GPU異構平臺,是指由CPU和GPU兩個不同的架構共同協同工作來解決同一個問題的計算平臺。實現這個異構計算系統,需要通過CUDA架構來搭建。

CUDA是專門針對GPU來進行編程的架構,這與以往單獨在CPU上串行計算有本質上的區別。以往的CPU串行計算只是針對一個處理器,而CUDA是針對GPU的。程序架構的原則是依據CPU和GPU各自的優勢特點來區分,即CPU負責進行邏輯判斷和串行計算相關工作,GPU則主要負責線程間高度并行的數據處理工作。因此在CUDA的架構下,一旦確定了程序中的并行部分,程序代碼就可以分為兩大部分:一部分交給CPU處理,另外一部分交給GPU處理。CUDA架構中是將CPU作為主控制器,稱為主機(Host);GPU作為協處理器,稱為設備(Device)。在GPU上執行的程序稱為內核函數(kernel)。一個kernel函數對應一個網格(grid),一個grid由若干個線程塊(block)組成,一個block由若干個線程(thread)組成,thread是最終數據的承載者,在各個block之間并行執行。

CUDA程序的執行過程如圖1所示,大致包括以下四個步驟:

圖1 CUDA程序執行過程

(1) CPU上的串行代碼完成必要的GPU上的數據準備和初始化工作;

(2) 將待運算的數據從CPU內存中復制傳輸到GPU顯存中;

(3) 啟動kernel函數和CUBLAS庫函數,在GPU執行線程級的并行運算任務;

(4) GPU計算完成后,將得到的結果拷貝回CPU內存中。

2 CPU-GPU異構平臺上結構地震響應算法實現

結構體系的動力平衡方程以矩陣形式給出如下:

(1)

(1) 初始計算

① 計算積分常數

a0=1/(βΔt2),a1=γ/(βΔt),a2=t/(βΔt)

a3=1/(2β)-1,a4=γ/β-1,

a5=(γ/(2β)-1)Δt

② 計算等效剛度矩陣

K*=K+a0M+a1C

(2)

③ 解線性方程,求解初始加速度

(3)

(2) 計算t+Δt時刻的響應

① 計算參數向量

(4)

(5)

② 計算等效荷載向量

(6)

③解線性方程,求解t+Δt時刻的位移向量

(7)

④ 計算t+Δt時刻的速度向量和加速度向量

(8)

(9)

由以上Newmark-β的計算步驟可以看出,計算工作量主要集中在求解每一時間步t+Δt的響應,對于大規模計算,若采用普通的串行方法求解,將消耗大量的計算時間。基于本文構建的CPU-GPU異構平臺,本文提出基于GPU的Newmark-β法的并行求解策略,如圖2所示。整體思路如下:除了初始計算,即剛度矩陣K、質量矩陣M、阻尼矩陣C以及等效剛度矩陣K*在CPU中計算完成以外,每一個時間步的響應都在GPU中計算完成,該方法通過編制CUDA程序,調用kernel函數和CUBLAS庫函數實現。

GPU中負責完成的并行計算如圖2中陰影部分所示,包括以下計算步驟:

(1) 由參數向量ct和dt得到等效荷載向量F*;

(2) 求解線性方程組獲得當前時間步下的位移向量xt+Δt;

(4) 重復以上步驟,直到整個時間步循環在GPU中計算完成。

圖2 基于GPU的Newmark-β算法

目前求解線性方程組的常用方法是直接法,如高斯消元法。該方法依賴于整體剛度矩陣的存儲方式,分解過程會出現“填充”,不能充分利用整體剛度矩陣稀疏帶狀的特性。隨著問題規模的擴大,這種存儲要求可能成為瓶頸。相比直接法,迭代法有更多的優勢:其占用存儲空間小,每次迭代從頭開始,不會產生誤差累積,精度有保障。其中CG法(Conjugate Gradient,共軛梯度迭代法)由于內在的并行性,在求解線性方程組中經常采用。但系數矩陣的條件數很大程度上制約了共軛梯度法的收斂性,所以一般須對原有方程組進行預條件處理,即PCG法(Preconditioning Conjugate Gradient,預處理共軛梯度迭代法)。

由于PCG法的計算優勢,本文提出了基于GPU的PCG并行算法,用來加速線性方程組的求解。在PCG算法中,每個循環迭代包含稀疏矩陣-向量乘、點積和向量更新這三種數據操作。這些操作由于具有內在并行性,因此PCG法的迭代過程可以在GPU上實現,算法流程如圖3所示,其中陰影部分是指在GPU中進行的計算。算法的整體思路如下:CPU負責初始化計算和迭代收斂準則的判斷,GPU負責稀疏矩陣-向量乘、點積和向量更新的并行計算。在GPU中計算獲得方程組的解之后,從GPU調出數據到CPU,接著CPU進行數據輸出等后處理操作。針對本文提出的基于GPU的Newmark-β算法,在GPU中完成PCG法迭代收斂,得到方程組的解,即得到該時間步下的位移向量后,緊接著繼續在GPU中求解速度和加速度。

圖3 基于GPU的PCG法

3 數值實驗

3.1 平臺參數

計算平臺CPU為Intel i5-2300,頻率為2.8 GHz,內存為4.00 GB;GPU為NVIDIA GeForce GTX 460,336個CUDA cores,計算能力2.1,流處理器頻率為1.4 GHz,顯存為1.0 GB,顯存帶寬為115.2 GB/s。

3.2 計算模型

分別在傳統的CPU串行平臺和本文構建的CPU-GPU異構平臺上,以三維梁單元的大規模有限元模型進行數值實驗。設計了3個類型共33個空間框架結構計算模型,框架編號為Fi-j-k,其中F表示框架(Frame),i表示框架樓層數,j表示沿建筑長方向(設為X方向)的跨數,k表示沿建筑寬方向(設為Y方向)的跨數。各類型結構計算模型參數如表1所示。

表1 各類型結構算例框架自由度數

(1) 類型1(固定跨數,變化高度)

本類型空間框架計算模型,層高均為3 m,跨度為6 m,X方向5跨,Y方向5跨,通過變換樓層高度獲得不同的計算模型。

(2) 類型2(固定高度,變化跨數)

本類型空間框架計算模型,層高均為3 m,層數為30層,高度為90 m,跨度為6 m,通過變換X、Y方向的跨數獲得不同的計算模型。

(3) 類型3算例(同時變化高度和跨數)

本類型空間框架計算模型,層高均為3 m,跨度為6 m,通過變換樓層高度和X、Y方向的跨數獲得不同的計算模型。

3.3 模型驗證

地震波采用El Centro(N-S)波,采樣周期0.02 s,持續時間40 s。在進行時程分析時,將地震動加速度峰值調整為220 cm/s2,相當于7度罕遇地震。結構采用瑞利阻尼,阻尼比取0.05。

在CPU-GPU異構平臺上調用kernel前需要給出執行配置參數,定義grid以及block的維度。線程的最大值不能超過每個線程塊所允許線程數量,受限于線程的寄存器個數,對于NVIDIA GeForce GTX 460的GPU硬件設備,每個block的線程最多只能取1 024個。

為了驗證自編程序的正確性,以類型1框架編號F10-5-5為例,將本文所提方法得到的結構頂層位移時程曲線、速度時程曲線和加速度時程曲線與有限元軟件ABAQUS得到的計算結果進行對比分析,對比結果如圖4和表2所示。

圖4 自編程序與ABAQUS計算結果對比

表2 F10-5-5模型結構響應對比

從圖4和表2中看出,自編程序得到的動力響應與ABAQUS有限元計算結果符合較好,誤差均在3%以內。其中,位移峰值誤差為-1.470%,相對而言,加速度峰值誤差稍大,為-2.322%。從誤差分析來看,自編程序與ABAQUS有限元計算結果相差不大,表明自編程序正確可行。

3.4 并行計算精度和效率分析

(1) 計算精度

基于CPU-GPU異構平臺得到的計算結果與CPU串行平臺的計算結果完全一致,相對誤差均為零,計算精度很高。這表明在CPU-GPU異構平臺上CPU和GPU端口之間的數據通信與傳遞不會造成數據丟失,能保證數據完整性;同時也驗證了在GPU上進行并行計算編制的kernel函數以及所選用的庫函數是準確的。

(2) 計算加速比

并行計算性能常用并行加速比來衡量,加速比是表示采用采用多個處理器計算速度所能得到的加速的倍數[11]。在本文中,GPU視為CPU的協處理器,因此衡量GPU的并行計算加速比可以表示為:

Speedup=Ts/Tp

(10)

式中:Ts表示CPU串行計算耗時,Tp表示GPU并行計算耗時。

CPU串行平臺以及CPU-GPU異構平臺的計算耗時及GPU加速比如圖5~圖7所示。

圖5 類型1算例計算耗時對比及GPU加速比

圖6 類型2算例計算耗時對比及GPU加速比

圖7 類型3算例計算耗時對比及GPU加速比

從圖5~圖7中看出,從計算耗時上來看,在CPU串行平臺上,計算耗時隨著計算規模(自由度數)增加顯著增大,而在CPU-GPU異構平臺上,計算耗時增加非常緩慢。從計算性能上來看,GPU計算加速比隨自由度數的變化趨勢是基本一致的,即當計算規模較小(自由度數小于5 000)時,GPU加速比隨著自由度數增加基本呈線性關系,隨著自由度數增大,GPU加速比持續增大。這表明隨著計算規模擴大,GPU的數據處理量增大,其并行處理能力也逐漸體現,3個類型的算例最終都獲得了25~30倍較高的加速比。

4 結 論

(1) 為解決傳統的串行有限元分析方法計算耗時多精度低的問題,提出了一種基于GPU并行計算能力在CUDA架構下構建高層結構有限元分析的CPU-CPU的異構平臺。

(2) 提出在GPU上并行求解結構地震響應,實現了基于GPU的Newmark-β算法。算法中對每一時間步采用基于GPU的預處理共軛梯度迭代法求解線性方程組,有效減少計算時間,提高計算效率。

(3) 通過對比分析本文提出的方法與ABAQUS軟件得到的計算結果,自編程序與ABAQUS有限元計算結果相差甚小,驗證了自編程序的正確可行。

(4) 在CPU-GPU異構平臺上進行的數值算例表明,本文所提方法在保證計算高精度的條件下,相比傳統CPU串行方法具有較高提速性能。

(5) 鑒于GPU架構不斷更新,本文建立的異構平臺可以取得更高的并行效率,因此本文提出的算法可推廣利用到規模更大更復雜的結構有限元動力計算問題中去。

[1] Bolz J, Farmer I, Grinspun E, et al. Sparse matrix solvers on the GPU: Conjugate gradients and multigrid[J]. ACM TRANSACTIONS ON GRAPHICS, 2003, 22(3): 917-924.

[2] Harris M J, Baxter III W V, Scheuermann T, et al. Simulation of cloud dynamics on graphics hardware[C]. Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, San Diego, CA, USA, 2003: 92-101.

[3] Georgescu S, Okuda H. Conjugate gradients on multiple GPUs[J]. International Journal for Numerical Methods in Fluids, 2010, 64(10-12): 1254-1273.

[4] Zuo W, Chen Q. Fast and informative flow simulations in a building by using fast fluid dynamics model on graphics processing unit[J]. Building and Environment, 2010, 45(3): 747-757.

[5] Filelis-Papadopoulos C K, Gravvanis G A, Matskanidis P I, et al. On the GPGPU parallelization issues of finite element approximate inverse preconditioning[J]. Journal of Computational and Applied Mathematics, 2011, 236(3): 294-307.

[6] Gravvanis G, Filelis-Papadopoulos C, Giannoutakis K. Solving finite difference linear systems on GPUs: CUDA based Parallel Explicit Preconditioned Biconjugate Conjugate Gradient type Methods[J]. The Journal of Supercomputing, 2012, 61(3): 590-604.

[7] Helfenstein R, Koko J. Parallel preconditioned conjugate gradient algorithm on GPU[J]. Journal of Computational and Applied Mathematics, 2012, 236(15): 3584-3590.

[8] Kiss I, Gyim thy S, Badics Z, et al. Parallel Realization of the Element-by-Element FEM Technique by CUDA[J]. IEEE Transactions on Magnetics, 2012, 48(2): 507-510.

[9] Yan D, Cao H, Dong X, et al. Optimizing algorithm of sparse linear systems on GPU[C].2011 Sixth ChinaGrid Annual Conference, Liaoning, China, 2011: 174-179.

[10] 鄧紹忠,周樹荃. 有限元結構分析并行計算的若干研究進展[J]. 南京航空航天大學學報,1995,27(1):27-32.

DENG Shao-zhong, ZHOU Shu-quan. Some recent advances in the parallel computation of finite element structural analysis [J]. Journal of Nanjing University of Aeronautics and Astronautics, 1995, 27(1): 27-32.

[11] 張偉偉,金先龍,曹露芬,等. 公鐵兩用隧道動態響應并行計算分析[J]. 振動與沖擊,2012,31(8):164-169,175.

ZHANG Wei-wei, JIN Xian-long, CAO Lu-fen, et al. Dynamic response analysis for a highway-railway double-duty tunnel using parallel computing [J]. Journal of Vibration and Shock,2012, 31(8): 164-169, 175.

猜你喜歡
有限元結構
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
新型有機玻璃在站臺門的應用及有限元分析
上海節能(2020年3期)2020-04-13 13:16:16
基于有限元的深孔鏜削仿真及分析
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
基于有限元模型對踝模擬扭傷機制的探討
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
論《日出》的結構
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
磨削淬硬殘余應力的有限元分析
基于SolidWorks的吸嘴支撐臂有限元分析
主站蜘蛛池模板: 青青操国产| 综合人妻久久一区二区精品| 国产综合网站| 国产在线观看一区精品| 午夜三级在线| 亚洲AⅤ无码国产精品| 天天婬欲婬香婬色婬视频播放| 日本中文字幕久久网站| 亚洲色欲色欲www在线观看| 四虎精品国产永久在线观看| 丰满人妻一区二区三区视频| 国产区91| 国产在线视频自拍| 日本人真淫视频一区二区三区| 久久久久久高潮白浆| 成人无码区免费视频网站蜜臀| 3344在线观看无码| 国产福利不卡视频| 无码人妻热线精品视频| 亚洲精品视频免费观看| 国产乱人伦AV在线A| 国产欧美精品一区aⅴ影院| 亚洲精品你懂的| 亚洲精品片911| 国产一级一级毛片永久| 亚洲成年人网| 91精品国产自产在线老师啪l| 欧美日韩午夜| 亚洲一区二区成人| 久草视频中文| 国产9191精品免费观看| 国产成人精品在线1区| 日本影院一区| 亚洲精品自产拍在线观看APP| 久一在线视频| 中文字幕色在线| 国产精品自在线拍国产电影| 亚洲第一黄片大全| 久久亚洲中文字幕精品一区| 欧美三級片黃色三級片黃色1| 狠狠综合久久| 欧美国产精品不卡在线观看| 国产精品自拍合集| 91免费在线看| 国产成年女人特黄特色大片免费| 喷潮白浆直流在线播放| 国产视频入口| 免费国产不卡午夜福在线观看| 成人综合久久综合| 夜夜高潮夜夜爽国产伦精品| 亚洲欧洲日韩综合色天使| 久久中文电影| 国产精品免费电影| 亚洲精品福利视频| 亚洲成人黄色网址| 色妺妺在线视频喷水| 久久人妻xunleige无码| 欧美日韩午夜| 久久综合丝袜日本网| 成人午夜视频在线| 久久女人网| 国模私拍一区二区三区| a欧美在线| 亚洲视频免| 伊人色在线视频| 久久一色本道亚洲| yjizz国产在线视频网| 欧洲一区二区三区无码| 福利在线一区| 成人免费网站在线观看| 久久精品国产精品青草app| 精品国产网站| 四虎国产精品永久一区| 91免费观看视频| 看你懂的巨臀中文字幕一区二区| 欧美日韩在线第一页| 亚洲中文字幕国产av| 亚洲va视频| 国产主播福利在线观看| 欧美色图第一页| 亚洲精品在线91| 一本大道无码高清|