[發明專利]一種并行計算構件、方法及相應并行軟件開發方法與系統有效
| 申請號: | 201410662947.9 | 申請日: | 2014-11-19 |
| 公開(公告)號: | CN104375806A | 公開(公告)日: | 2015-02-25 |
| 發明(設計)人: | 莫則堯;張愛清;曹小林;劉青凱;徐小文;廖麗 | 申請(專利權)人: | 北京應用物理與計算數學研究所 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 賈磊 |
| 地址: | 100088*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 并行 計算 構件 方法 相應 軟件 開發 系統 | ||
技術領域
本發明涉及并行計算技術領域,特別是關于一種并行計算構件、方法及相應并行軟件開發方法與系統。
背景技術
當前,串行程序并行化是數值模擬并行應用軟件的常用研發方法,分兩個步驟:第一,在小規模計算的條件下,針對實際應用問題,設計數據結構和數值算法,研制串行程序;第二,基于高性能計算機體系結構和并行編程環境,將串行程序并行化,所得并行程序一方面在小規模計算條件下可獲得與串行程序一致的模擬結果,另一方面通過增加處理器核數來擴大計算規模。
串行程序并行化的優點是簡單直接,但很難適應實際應用的需求變化和高性能計算機體系結構的復雜化。實際應用的需求變化表現于多物理過程或多時空尺度耦合,代碼復雜度持續增長,需要多個團隊協同研發;高性能計算機體系結構的復雜化表現于效能墻,實際應用領域專家很難直接編寫高效能使用計算機的程序代碼。串行程序并行化將并行語句嵌入到串行程序的代碼行之間,不改變數據結構、數值算法和模塊結構,而串行程序通常面向小規模計算進行設計,實際應用相對簡單,較少考慮大規模計算的性能需求,也較少考慮模塊的復用,呈現計算效率低、可復用程度低、可維護性和可擴展性差的不足。由此,隨著高性能計算機峰值性能的持續提升,隨著實際應用的日趨復雜和多樣,串行程序并行化的研發方法已經很難適應新一代數值模擬并行應用軟件的快速研發,亟待提出新的研發方法和系統。
發明內容
為了解決現有技術并行計算中針對不同應用軟件開發復用性差效率低的問題,本發明提出一種并行計算構件、方法及相應并行軟件開發方法與系統,顯著提升軟件模塊的可復用性、可維護性和可擴展性,顯著提升應用軟件的計算效率,使得應用領域專家可以在無需了解計算機復雜體系結構的前提下,串行編程地研發并行應用軟件,適應復雜實際應用的數值模擬需求變化和高性能計算機體系結構的復雜化。
本發明實施例提供了一種并行計算構件,包括,
并行計算構件接口,用于為數據分布存儲單元、數據并行通信單元和數值并行計算單元提供數值數據并返回經過數值計算處理后的數值數據,所述數值數據主要包含數據場和計算參數;
所述數據分布存儲單元,用于在進程的私有內存空間存儲數據場和從并行計算構件接口接收的數值數據;
所述數據并行通信單元,用于從其他進程的私有內存空間的數據場中復制數值并行計算單元依賴的網格單元及網格單元上的物理量值,存儲到本地進程,滿足數值并行計算單元的數據依賴需求;
所述數值并行計算單元,用于根據數值算法的數值模擬計算流程,獨立的對本地進程的數值數據進行數值計算,并將數值計算后的數值數據傳送給并行計算構件接口。
本發明實施例還提供了一種并行計算構件的生成方法,包括,
確定并行計算接口的輸入和輸出,為數據分布存儲單元、數據并行通信單元和數值并行計算單元提供數值數據并返回經過數值計算處理后的數值數據,所述數值數據主要包含數據場和計算參數;
根據數值算法的格式確定數據分布存儲單元在進程的私有內存空間存儲的數據場和從并行計算構件接口接收的數值數據;
確定數據并行通信單元從其他進程的私有內存空間的數據場中復制的網格單元和網格單元上的物理量值,存儲到本地進程,滿足數值并行計算單元的數據依賴需求;
確定數值并行計算單元的計算邏輯,編寫進程執行的串行子程序,注冊到數值并行計算單元,獨立的對本地進程的數值數據進行數值計算,并將數值計算后的數值數據傳送給并行計算構件接口。
本發明實施例還提供了一種應用并行計算構件的數值模擬并行應用軟件開發方法,包括,
根據數值模擬的應用對象,生成離散網格和離散網格上的物理量值數據,形成數值模擬數據場,分布存儲到各個進程的私有內存空間;
根據所述數值模擬的應用對象待實現的數值模擬功能,確定多個并行計算功能的實現步驟,根據所述并行計算功能確定對應的并行計算構件,并根據所述實現步驟確定所述并行計算構件之間的連接關系;
根據所有的并行計算構件及其連接關系組裝所述并行計算構件,形成與待實現數值模擬功能一致的并行應用軟件。
本發明實施例還提供了一種應用并行計算構件的數值模擬并行應用軟件開發系統,包括,
數據場分布存儲單元,用于根據數值模擬的應用對象,生成離散網格和離散網格上的物理量數據,形成數值模擬數據場,分布存儲到各個進程的私有內存空間;
數值模擬計算流程確定單元,根據所述數值模擬的應用對象待實現的數值模擬功能,確定多個并行計算功能的實現步驟;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京應用物理與計算數學研究所,未經北京應用物理與計算數學研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201410662947.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于眾核協處理器的三級流水序列比對方法
- 下一篇:參數產生裝置與方法





