国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

城市二維內(nèi)澇模型的GPU并行方法

2020-12-26 02:42:54向小華陳穎悟吳曉玲王志偉康愛(ài)卿
關(guān)鍵詞:內(nèi)澇步長(zhǎng)管網(wǎng)

向小華, 陳穎悟, 吳曉玲, 李 超, 王志偉, 康愛(ài)卿

(1.河海大學(xué)水文水資源學(xué)院,江蘇 南京 210098;2.中國(guó)水利水電科學(xué)研究院流域水循環(huán)模擬與調(diào)控國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100038)

運(yùn)用二維水動(dòng)力模型模擬城市地表水流運(yùn)動(dòng),從而獲得實(shí)時(shí)的積水面積、積水深度以及積水歷時(shí),對(duì)城市防澇減災(zāi)具有重要意義。二維水動(dòng)力模型模擬精度高,但在大尺度區(qū)域或精細(xì)分辨率情形下,數(shù)值計(jì)算量大,模型運(yùn)行時(shí)間長(zhǎng)。為提高二維模型模擬速度,可以通過(guò)簡(jiǎn)化控制方程或降低空間分辨率減少運(yùn)算量,但這樣會(huì)降低模型模擬精度。另一種方法是引入并行計(jì)算,既能保證模型精度又能提高模型運(yùn)行速度。目前,二維水動(dòng)力模型的并行化研究已有很多成果:Neal等[1]基于OpenMP構(gòu)建了LISFLOOD-FP二維模型的并行版本,獲得了最大5.18倍的加速比;Lamb等[2]運(yùn)用DirectX加速JFlow模型,模型運(yùn)行時(shí)間從18 h減少到5~9 min;Kalyanapu等[3]將CUDA運(yùn)用于潰壩模擬加速中,能夠2 min模擬30 min的洪水事件;Vias等[4]在污染物輸移模型中利用GPU進(jìn)行加速,僅需2 h便可完成CPU連續(xù)執(zhí)行10 d的模擬工作。但是將并行技術(shù)應(yīng)用于城市內(nèi)澇模擬的研究還較少,本文將SWMM模型和LISFLOOD-FP模型進(jìn)行耦合構(gòu)建城市內(nèi)澇模型,基于CUDA對(duì)其中的二維水動(dòng)力模型進(jìn)行GPU并行化,比較分析其加速效果,以期為城市內(nèi)澇快速模擬模型的進(jìn)一步完善提供參考。

1 城市二維內(nèi)澇模型

1.1 城市產(chǎn)匯流及排水管網(wǎng)模型

城市產(chǎn)匯流及管網(wǎng)模型采用SWMM模型,SWMM模型包括下墊面產(chǎn)匯流模塊、管網(wǎng)匯流演算模塊以及水質(zhì)模塊,它能夠模擬出每個(gè)子匯水區(qū)每個(gè)時(shí)刻產(chǎn)生徑流的水質(zhì)與水量,同時(shí)還能對(duì)每個(gè)管道中的水量和水質(zhì)進(jìn)行模擬[5-9]。由于SWMM沒(méi)有進(jìn)行地表二維水流模擬的模塊,因此將其與二維水動(dòng)力模型進(jìn)行耦合,從而能夠?qū)σ绯雠潘芫W(wǎng)的地表積水進(jìn)行模擬。

1.2 地表二維漫流模型

二維漫流模型采用水動(dòng)力模型LISFLOOD-FP,該模型的二維漫流模塊采用基于矩形網(wǎng)格的水量平衡方程以及網(wǎng)格間流量公式,顯式地計(jì)算各時(shí)刻的網(wǎng)格水深[10-13]。

網(wǎng)格水量平衡方程:

(1)

邊界流量公式:

(2)

時(shí)間步長(zhǎng)公式:

(3)

式中:i,j——第i行第j列網(wǎng)格標(biāo)示;Qx——網(wǎng)格x方向的出流量;Qy——網(wǎng)格y方向的出流量;ht——t時(shí)刻網(wǎng)格水深;z——網(wǎng)格底高程;qt——t時(shí)刻單寬流量;n——地表糙率;Δx、Δy——矩形網(wǎng)格大?。沪痢?~1的系數(shù);g——重力加速度。模型計(jì)算流程如圖1(a)所示。

圖1 二維模型計(jì)算流程Fig.1 Computing flowchart of 2D model

1.3 城市二維內(nèi)澇模型的構(gòu)建

城市內(nèi)澇模型的產(chǎn)匯流模塊和一維管網(wǎng)演算模塊由SWMM模型提供,二維地表漫流模塊采用LISFLOOD-FP模型計(jì)算。SWMM模型與LISFLOOD-FP模型之間采用雙向耦合,當(dāng)排水管網(wǎng)接納的水量超過(guò)其負(fù)荷,水量從管網(wǎng)節(jié)點(diǎn)溢出,此時(shí)SWMM模型的節(jié)點(diǎn)溢流量作為L(zhǎng)ISFLOOD-FP模型的輸入,參與地表二維計(jì)算,當(dāng)管網(wǎng)負(fù)荷降低、節(jié)點(diǎn)溢流停止,LISFLOOD-FP模型的水量重新回流到SWMM模型中,參與一維管網(wǎng)計(jì)算[14-17]。耦合后二維模型計(jì)算流程如圖1(b)所示。

城市內(nèi)澇模型運(yùn)行效率主要受制于二維計(jì)算模塊。網(wǎng)格分辨率增大,模型的時(shí)間步長(zhǎng)相應(yīng)縮小,同時(shí)空間上模型單步計(jì)算的耗時(shí)顯著加大。因此,下面采用GPU并行技術(shù)來(lái)實(shí)現(xiàn)空間上網(wǎng)格的并行計(jì)算,從而加速二維內(nèi)澇模型。

2 城市二維內(nèi)澇并行模型

2.1 實(shí)現(xiàn)并行的硬件條件

采用CUDA并行編程模式進(jìn)行二維模型加速,采用了2種硬件配置,配置1和配置2的主要硬件參數(shù)見(jiàn)表1,均使用了支持CUDA的GPU。

表1 硬件參數(shù)Table 1 Hardware parameters

2.2 模型并行化的可行性分析

CUDA適用于可以分解成若干處理單元的計(jì)算任務(wù),各處理單元間無(wú)依賴關(guān)系,獨(dú)立運(yùn)行、互不干擾。在LISFLOOD-FP模型中,各邊界流量的計(jì)算、各網(wǎng)格水量的更新互不影響,這是由于模型采用顯式方法求解,每一個(gè)網(wǎng)格計(jì)算僅需用到該網(wǎng)格與相鄰網(wǎng)格前一時(shí)刻已有的水深、流量等數(shù)值信息,同一時(shí)刻的各網(wǎng)格單元獨(dú)立運(yùn)行、互不干擾,因此具備并行條件。

2.3 并行模型的構(gòu)建

在CUDA架構(gòu)下,CPU和GPU之間有著明確的協(xié)作,CPU讀取外部數(shù)據(jù),通過(guò)CUDA提供的API對(duì)GPU進(jìn)行數(shù)據(jù)傳輸,接著GPU進(jìn)行并行計(jì)算,計(jì)算結(jié)束之后將結(jié)果傳輸回CPU,進(jìn)行數(shù)據(jù)結(jié)果的存儲(chǔ)[18-19]。CPU和GPU之間的數(shù)據(jù)傳輸模型如圖2所示。

圖2 GPU數(shù)據(jù)傳輸模型Fig.2 Data transfer model of GPU

二維模型并行后的計(jì)算流程如圖3所示。第一部分對(duì)模型參數(shù)、網(wǎng)格信息、水位流量等進(jìn)行初始化,CPU端初始化完成后,在GPU上申請(qǐng)存儲(chǔ)空間,將CPU端初始時(shí)刻的水位、流量以及高程等數(shù)據(jù)拷貝至GPU;第二部分GPU執(zhí)行密集的數(shù)值計(jì)算,每個(gè)網(wǎng)格計(jì)算只需要前一步時(shí)間步長(zhǎng)的結(jié)果,同一時(shí)間步的網(wǎng)格計(jì)算不相關(guān),各線程求出對(duì)應(yīng)網(wǎng)格的邊界流量,并更新網(wǎng)格水深;第三部分GPU計(jì)算完成,將當(dāng)前時(shí)刻的流量、水深數(shù)據(jù)返回給CPU,CPU計(jì)算包含節(jié)點(diǎn)網(wǎng)格的源項(xiàng),更新這部分網(wǎng)格水深,最后存儲(chǔ)運(yùn)算結(jié)果。

圖3 二維模型并行計(jì)算流程Fig.3 Parallel computing flowchart of 2D model

3 模型應(yīng)用與分析

3.1 模型應(yīng)用

研究區(qū)域位于鹽城響水縣城區(qū),城鎮(zhèn)化水平較高,建筑密集,人口眾多,地勢(shì)低平,研究區(qū)域如圖4(a)所示。該區(qū)域硬化地面占比高,且排水管網(wǎng)排澇標(biāo)準(zhǔn)較低、抽排設(shè)施較少,“2012·8·10”特大暴雨使得該區(qū)域一些地區(qū)積水深度超過(guò)1 m。因此有必要對(duì)該區(qū)域建立適當(dāng)?shù)膬?nèi)澇模擬模型以響應(yīng)突發(fā)的暴雨內(nèi)澇事件。降雨條件采用當(dāng)?shù)氐谋┯旯皆O(shè)計(jì)2 h短歷時(shí)暴雨,下墊面資料包括遙感影像圖、不同分辨率的DEM,排水管網(wǎng)分布圖等。經(jīng)驗(yàn)證,原模型模擬得到的積水分布區(qū)域與實(shí)際的調(diào)研結(jié)果大致相符,且模型模擬的最大水深與實(shí)際調(diào)查水深的差距不超過(guò)0.3 m,模型對(duì)于研究區(qū)域的雨洪模擬具有較好的適用性。并行模型模擬得到的積水分布范圍與原模型一致,模擬的積水面積和水深無(wú)明顯變化,并行模型依然保持原有精度。圖4(b)為5 m分辨率下模型模擬運(yùn)行到2 h的淹沒(méi)圖,將不同時(shí)刻的水深數(shù)據(jù)拼接起來(lái)并在GIS中進(jìn)行演示,可得到研究區(qū)域發(fā)生內(nèi)澇時(shí)地表二維水流的動(dòng)態(tài)演變過(guò)程,從而直觀清晰地掌握城市地表的內(nèi)澇情況。

圖4 研究區(qū)域與模擬結(jié)果Fig.4 Study area and simulation results

3.2 效率計(jì)算指標(biāo)

并行模型的性能評(píng)定指標(biāo)采用加速比:

(4)

式中:TCPU——原模型的運(yùn)行時(shí)間;TGPU——并行模型的運(yùn)行時(shí)間。

3.3 加速效果分析

配置1下原模型的模擬方案簡(jiǎn)稱CPU1,并行模型模擬方案簡(jiǎn)稱GPU1,同理,配置2下原模型的模擬方案為CPU2,并行模型模擬方案為GPU2,在5 m地形分辨率、2 h短歷時(shí)暴雨下,對(duì)研究區(qū)域12 h的內(nèi)澇情況進(jìn)行模擬。

計(jì)算結(jié)果顯示,CPU1運(yùn)行時(shí)間為60.7 min,GPU1為20.6 min,CPU2為43.9 min,GPU2為7.2 min,GPU1取得加速比為2.95,GPU2為6.10。GPU2加速效果明顯,12 h的實(shí)際內(nèi)澇過(guò)程僅需不到8 min,并行模型做到了高分辨率網(wǎng)格下的城市內(nèi)澇快速模擬。同時(shí)GPU2的加速效果是GPU1的大約2倍,核心數(shù)越多、核心頻率越高的GPU能獲得更好的加速效果,相比于花大量時(shí)間優(yōu)化程序,升級(jí)硬件資源對(duì)消除程序性能瓶頸更直接有效。

還可看到,加速比遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到GPU中處理器的數(shù)量。一方面,由于并行模型僅實(shí)現(xiàn)二維模型的加速,并沒(méi)有對(duì)原模型的所有計(jì)算流程進(jìn)行并行化,比如文件IO操作、SWMM一維管網(wǎng)計(jì)算、管網(wǎng)與地表的交互計(jì)算等都不能實(shí)現(xiàn)并行;另一方面,啟用GPU進(jìn)行并行計(jì)算均會(huì)造成一定的額外耗時(shí),這種耗時(shí)主要來(lái)源于CPU與GPU間的數(shù)據(jù)傳輸、內(nèi)存延遲、線程間通信等,使得加速比的增長(zhǎng)存在極限。

3.4 不同網(wǎng)格分辨率下的加速效果分析

在30 m、10 m、5 m、2 m網(wǎng)格分辨率下各模擬方案的運(yùn)行時(shí)間和加速比見(jiàn)表2。

表2 不同分辨率下各方案運(yùn)行時(shí)間及加速比Table 2 Running time and speedup of each scheme under different resolutions

可以得到,隨著網(wǎng)格分辨率的上升,GPU1和GPU2獲得的加速比隨之上升,加速比隨著模型計(jì)算量的增大而增大,這與Neal等[1]、Kalyanapu等[3]研究得出的結(jié)論是一致的。GPU相比于CPU具有眾多的處理核心,這種硬件優(yōu)勢(shì)使得GPU在處理可并發(fā)的計(jì)算流程時(shí)能夠獲得比CPU更快的速度,但是由于GPU內(nèi)存是獨(dú)立于CPU內(nèi)存的,每次啟用GPU進(jìn)行加速都需要經(jīng)歷向GPU傳送數(shù)據(jù)并返回結(jié)果的過(guò)程,這會(huì)造成一定的耗時(shí),影響程序的整體性能。低分辨率網(wǎng)格下,每次時(shí)間步長(zhǎng)里需要遍歷的網(wǎng)格數(shù)量較少。由表2可知,30 m分辨率網(wǎng)格,單純使用CPU已經(jīng)能在1 min內(nèi)快速完成計(jì)算,利用GPU進(jìn)行加速還要算上傳輸數(shù)據(jù)導(dǎo)致的耗時(shí),反而起不到加速效果,此時(shí)CPU與GPU間的數(shù)據(jù)傳輸速度成為程序性能的主要瓶頸。對(duì)于高分辨率情形,每次時(shí)間步長(zhǎng)里計(jì)算量大,原模型CPU串行處理大量網(wǎng)格,運(yùn)行耗時(shí)顯著增加;并行模型下GPU多處理器的性能優(yōu)勢(shì)得到充分發(fā)揮,計(jì)算量越大,性能優(yōu)勢(shì)發(fā)揮越顯著,能夠取得更大的加速比。

4 結(jié) 論

a. GPU并行計(jì)算技術(shù)可以顯著提升二維內(nèi)澇模型的運(yùn)行效率,對(duì)本文研究區(qū)域,在5 m高分辨率下,GPU2能夠8 min內(nèi)模擬12 h的內(nèi)澇事件,滿足緊急內(nèi)澇事件的快速響應(yīng),具有一定應(yīng)用價(jià)值。

b. 并行模型的加速效果在更高的空間分辨率下表現(xiàn)得更為明顯,取得了最高10.86倍的加速比,相比于Neal等[1]采用OpenMP(基于CPU多線程)加速LISFLOOD取得最高5.18倍加速比,GPU顯現(xiàn)出在并行計(jì)算方面的優(yōu)勢(shì)。網(wǎng)格單元數(shù)量越多,越能更好地體現(xiàn)復(fù)雜的地形和水流特征,但同時(shí)也造成較長(zhǎng)的耗時(shí),而使用GPU進(jìn)行加速能在內(nèi)澇模擬下仍保持較快的速度和原有的精度。

c. 影響加速比的主要因素有:(a)網(wǎng)格分辨率。分辨率越高,計(jì)算量越大,GPU多核心的性能優(yōu)勢(shì)發(fā)揮越顯著。(b)并行區(qū)域時(shí)間占比。并行部分占的時(shí)間越多,程序整體性能提升越大,加速效果越好。(c)并行帶來(lái)的額外開(kāi)銷。主要包括CPU與GPU間的數(shù)據(jù)傳輸、內(nèi)存延遲、線程間通信等,使得加速比的增長(zhǎng)存在極限。

d. 要充分發(fā)揮GPU并行計(jì)算優(yōu)勢(shì)需要兩個(gè)條件:首先單步數(shù)據(jù)計(jì)算量要大,充分發(fā)揮GPU多核心的硬件優(yōu)勢(shì);其次應(yīng)盡量減少每次步長(zhǎng)里向GPU傳輸數(shù)據(jù)而產(chǎn)生的耗時(shí),比如合并小規(guī)模的數(shù)據(jù)傳輸、減少啟用次數(shù)、使用傳輸帶寬更快的固定內(nèi)存等[18-19]。

猜你喜歡
內(nèi)澇步長(zhǎng)管網(wǎng)
基于Armijo搜索步長(zhǎng)的BFGS與DFP擬牛頓法的比較研究
管網(wǎng)獨(dú)立是妥協(xié)還是改革
能源(2018年8期)2018-09-21 07:57:20
從管網(wǎng)獨(dú)立看國(guó)企改革
能源(2018年8期)2018-09-21 07:57:20
管網(wǎng)改革虛實(shí)
能源(2018年8期)2018-09-21 07:57:18
織起一張共管網(wǎng)
國(guó)外應(yīng)對(duì)城市內(nèi)澇的智慧:從“馴服”到“巧用”
基于逐維改進(jìn)的自適應(yīng)步長(zhǎng)布谷鳥(niǎo)搜索算法
一種新型光伏系統(tǒng)MPPT變步長(zhǎng)滯環(huán)比較P&O法
城市內(nèi)澇的形成與預(yù)防
河南科技(2014年1期)2014-02-27 14:04:32
我國(guó)城鎮(zhèn)內(nèi)澇防治:由理念到標(biāo)準(zhǔn)體系建立
左权县| 柳州市| 长海县| 松阳县| 丹寨县| 克东县| 富民县| 阿拉善左旗| 烟台市| 汶川县| 新疆| 抚顺县| 特克斯县| 平舆县| 兴文县| 阿勒泰市| 鄂托克旗| 焦作市| 绥芬河市| 寻乌县| 正定县| 塔城市| 永顺县| 闻喜县| 乐业县| 仙居县| 浪卡子县| 淅川县| 永胜县| 西青区| 福安市| 宕昌县| 文登市| 额敏县| 南宫市| 沭阳县| 西峡县| 开阳县| 岳阳市| 乌拉特前旗| 兰考县|