av久久久-av九九九-av九九-av激情网-欧美三级在线-欧美三级一区二区三区

CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!

2017-02-24  by:CAE仿真在線  來源:互聯網



相關背景

單核計算原來越不能滿足大規模CFD計算的需求。大量的學術機構和工程院所通過并行的方法來進行上億網格的計算模擬。理所當然的,并行計算(Parallel computing)需要配備多核CPU的計算機,也即并行計算機(Parallel computers)。


并行計算機和普通計算機相同,也是使用常規芯片,因此并行計算機比矢量計算機(Vector computers)要便宜的多。商用并行計算機通常具有上千個處理器,上T的內存。因此計算能力是驚人的。


CFD工程師經常會問,并行計算是僅僅調用多個CPU就可以實現加速計算了么?


Too simple, sometimes naive!

CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!cfd流體分析圖片1

并行計算遠非那樣簡單


多CPU串行計算


基于單核計算設計的算法,可能在并行計算機上不能夠有效的運行。我們用循環語句為例,如果使用自動并行編譯器對代碼進行編譯,并行只是在循環語句里面執行。依據Amdahl法則,計算效率由最低效的部分決定。因此整個代碼中,不能并行計算的代碼要盡可能的小。


目前CFD中采用的并行算大體思路為把計算域分為子計算域,并且分別使用不同的CPU核心來對子計算域進行計算。在這種并行分塊策略下,不同的CPU核心運算相同的代碼,只不過他們處理的數據不同(分別處理自己的數據),在并行計算后再對數據進行重組。


由于每個CPU核心需要處理自己的數據,且某些數據需要和其他CPU核心中的數據中獲取,因此,CPU核心之間存在著數據交換。每個CPU處理的計算域的邊界也稱之為CPU邊界(Processor Boundary)。


顯性格式相對來說還是比較容易并行的,因為操作的數據都是上一個時間步的已知數據。其離散后的矩陣為對角陣。數據交換只存在于在每個時間步計算完成后子計算域彼此的交界處。顯性格式并行計算最困難的部分就是橢圓形的壓力泊松方程。


隱性格式相對來講并行起來比較麻煩,矩陣的系數計算只是稍微麻煩一點(隱形格式離散后非對角陣),更頭疼的是求解這個非對角陣的迭代矩陣求解器不是很容易并行起來。比如:高斯消去法在計算的時候需要調用之前的迭代值,這導致其很難并行計算。


舉例,我們來看使用常規的矩陣求解方法(如采用ILU類型的矩陣求解器)在并行中的計算特點:

CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!cfd流體分析圖片2

在上圖中,黑格子為我們的2D網格單元,整個網格域被分為4個垂直的子區域并分別由4個不同的CPU求解。在每個網格單元上,存儲在著我們的矩陣系數。在常規的方式中,矩陣系數的計算需要相鄰網格單元的值。


  • 假若某種矩陣求解器的矩陣系數構造需要其西側南側矩陣系數的值。那么CPU1上節點1、2上的矩陣系數可以順序求出,在這個時候,CPU2、3、4閑置,因為他們需要西側和南側的矩陣系數值才能進行計算。


  • 在CPU1上節點1、2上的矩陣系數求出之后,CPU2開始求解節點3、4的矩陣系數。在這個時候,CPU1可以計算節點10、11的矩陣系數。


  • 在CPU2求解之后,CPU3開始求解節點5、6的值。于此同時,CPU1已經完成節點10、11的矩陣系數計算,并可以開始進行節點19、20的計算。


  • 在CPU3計算節點5、6的值之后,CPU4開始計算節點7、8、9的值,同時CPU1、2、3也在分別進行著計算...


可以看出,CPU1總是比CPU2快一步,CPU2總是比CPU3快一步,以此類推。圖中天藍色陰影部分即表示的為這種CPU負載的不均衡


在上圖中,CPU1只是領先了CPU4四行,如果分配了400個核,那么這意味著CPU1領先了CPU400共400行數據!這導致大量的閑置時間(idle time)。


CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!cfd流體分析圖片3
圖中,CPU1已經跑完了,還需要繼續等待CPU2、3、4、...15,并且CPU15才跑到一半!

CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!cfd學習資料圖片4


要真正的并行計算,算法改進迫不及待。


并行計算


目前,CFD計算中的并行算法均采用分解(decompose)的方式,附加矩陣求解器的重構。分解的方式主要有兩種:空間分解和時間分解。


如前文所述,在空間分解中,計算域被分解為幾個小的計算域。空間分解的首要任務就是效率最大化:使得每個處理器獲得相同的工作量。


舉例:我們把計算域空間分解為9個子計算域,并編號為1-9。通常的并行做法為:同時把矩陣系數分解為9*9階塊矩陣。其中矩陣的對角塊對應子計算域的矩陣系數。非對角塊中包含子計算域邊界處的交互關系。


CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!cfd學習資料圖片5

上圖中,A矩陣的對角塊分別對應子計算域的矩陣系數塊,非對角塊中,如A矩陣中的12塊對應子計算域1和2之間的交互。


求解上述矩陣系統,可以分別求出每個子計算域中的T。


CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦!cfd學習資料圖片6


拓展閱讀:


再比拼:CFD并行分解算法(Graph-Partitioning Algorithms)|炸了!150萬核超級計算機!|CFD中的壁面函數如何處理?|旋轉機械大法:多重參考系(MRF) VS 滑移網格(Sliding-Mesh)!|湍流神秘y+之旅|CFD逆天黑科技:“多重網格法”|源項的線性化處理|牛頓流體玩多了,不要忘記“非牛頓流體”|“我用100個核模擬,就可以模擬時間將為原來的1/100了!”|CFD后處理中的“體渲染”


原文整理與:Computational Methods for Fluid Dynamics, J.H. Ferziger and M. Peric, 3rd Edition, Page 356


開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:CFD并行計算大揭秘!算法玩的不好,照樣香菇、藍瘦! CFD培訓 CFD流體分析培訓 cfd視頻 fluent cfx pumplinx軟件培訓 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓 有限元培訓 

編輯
在線報名:
  • 客服在線請直接聯系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 威利| 电影《kiskisan》在线观看| 女用春情药什么好| 林青霞离婚| 炊事班的故事演员表| 《军官夫人》电影在线观看| 篱笆墙的影子歌词| 艳窟神探| 艾微儿| 北京卫视今晚的电视剧是什么| 一元二次方程实际问题| 免费看黄直播| 肱骨是胎儿的哪个部位| 三年级片| 真爱到永远电影在线看| 草刈正雄| 篮球场平面图| xxxxxxxxxxxxxxxxx| 果戈里起点女的被劫走是多少分钟| 在水一方电影剧情简介| 大雄的日本诞生| 卧虎演员表| 暴露视频| 深夜在线播放| 邓为个人资料简介及家世| 朱荣荣| 黄浩雯主演过的所有短剧| lanarhoades在线av| 成龙电影全集大全| 地铁女孩| 白洁少妇在线| 欧美成熟| 江南好简谱| 张扬导演| 唐朝诡事录最大败笔是谁| 少先队应知应会知识题库及答案 | 成人免费视频观看视频| 小舞泳装比基尼套装图片| 黑帮大佬365天| 大园桃子| 电影《男宠》在线观看|