平行运算为工程领域带来新视野.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平行运算为工程领域带来新视野

平行運算為工程領域帶來新視野 作者 :Loren Dean, Silvina Grad-Freilich 在科技運算的領域裡 ,有關平行程式設計(parallel programming) 的討論重點多半圍 繞在如何自訂演算法以提升硬體的使用效率 。而激發這些討論的 ,是幾個與高效能 系統有關的因素 :多核心(multicore)和眾核心(many-core)系統的問世 、繪圖處理器 (GPU)等可程式設計的裝置的出現 ,以及現成商業軟體(COTS)電腦叢集逐漸普遍的 趨勢 。 直至最近 ,商業高階工具才現身支援高效能系統科技運算應用程式的開發 。平行程 式設計是一項專業人員專用的深奧藝術 ,這些專業人員使用自訂安裝程式和低階程 式庫 ,並配合特定的硬體而調整其應用程式 ,希望能夠藉此發揮最大的效能 。IDC 曾在 2007 年的簡報會上指出 ,由於缺乏適當的程式設計環境 ,要跨越單一節點的 1 範圍擴充規模可說困難重重 。但是如今 ,隨著高效能系統的逐漸普遍 ,讓所有人 都能更容易使用軟體程式來控制這些系統已是刻不容緩的任務 。 為了達到這個目標 ,平行程式設計解決方案必須超越自訂演算法和效能 。工具軟體 的生態系統發展 ,不僅為工程師在平行應用程式的設計 、開發和偵錯方面提供不少 助益 ,也能夠完全運用快速發展的硬體 。為了達到目的 ,過去幾年來這些已極大成 熟的新興生態系統必須能 :  擴充開發序列應用程式的標準工具功能 ,以支援平行程式設計 ;  支援應用的規模擴大 ,從簡單的多核心桌上型電腦擴展到複雜的電腦叢集和網 格架構 ,而無需修改應用程式碼 ;  提供強大的整合式開發環境(IDE) ;  能以批次(batch)和互動模式執行應用程式 。 語言支援 能否充分支援平行式程式設計 ,是選擇程式設計語言的重要考量 。這項支援涵蓋範 圍從巧妙隱含到極度外顯的語言建構都有。如果採用隱含方式 ,則系統不必更改現 有的程式 ,程式即可自動執行平行化 , 如果採用外顯方式 ,則使用者必須為程式 加註 ,程式才能執行平行化的工作 。隱含式的平行處理原則 ,目前仍然是研究的活 躍領域 ,但因為目前尚無更具體的解決方案 ,因此在可見的未來 ,還是需要某種外 1 2 顯程度的語言 。在理想的情況下 ,程式語言應該直接支援高階平行語言建構 ,換 句話說 ,使用者至少需要為程式進行基本加註 ,才能發揮最佳的效能 。 傳統的平行程式設計解決方案多半採用外顯方式 ,也就是說 ,通常都是使用訊息傳 遞介面(Message Passing Interface ,MPI) 指令 。MPI 是一種用於平行程式點對點通 訊的工業標準通訊協定 。如果採用這種方式 ,程式設計師必須使用低階語言建構 , 而這就形成極大的阻礙 。 有多家軟體公司表示他們需要平行式程式設計的支援 。例如 ,Microsoft Parallel Extensions 為 .NET Framework 提供語言建構 ,能讓任何用 .NET 語言編寫的應用程 式進行並行處理 。這些建構可以抽離低階程式設計的細節 。 MathWorks™ 平行運算工具則可讓使用者跨越隱含和外顯的界線來編寫程式 。例 ® 如 ,MATLAB 使用者程式設計運算密集應用程式 ,可將 FOR loop 迴圈註解為 PARFOR loop 迴圈 。PARFOR loop 迴圈在單處理器系統上執行時 ,其操作方式與 傳統的 FOR loop 迴圈無異 。 但是在多核心機器或叢集上執行時 ,PARFOR 顯然能有效地利用目前能夠使用的 其他運算資源 ,而且 ,使用者在進行資料密集應用設計時還能將陣列註解成分散式 陣列 ,配置在多個核心或處理器上 ,分散式陣列可讓使用者開發平行應用程式 ,而 不必顧慮訊息傳遞的基本細節 。在隱含式程式設計的理念中 ,平行處理的應用程式 是不需要修改程式碼的 。只要朝著這個理念前進 ,久而久之 MathWorks 便能在其 工具箱中逐漸增加對平行運算的直接支援 ,而無需修改使用它們的應用程式 。

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档