gpu架构中所提供分散式运算之功能与限制.pptVIP

gpu架构中所提供分散式运算之功能与限制.ppt

  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文档。上传文档
查看更多
gpu架构中所提供分散式运算之功能与限制

ICAL ICAL GPU分散式演算法與CPU多執行緒演算法之單機系統模擬 2/1/2010 ICAL * Outline Multi-Threading(多執行緒) Threads API OpenMP的特點 OpenMP vs. Multi-Threading 單機系統模擬 Conclusion Multi-Threading(多執行緒) Thread是在CPU執行的最基本單位,在傳統的單一Thread的程式,同時只能使用一個CPU,無法完全發揮多CPU或多核心CPU的運算能力。 Multi-Threading是一種將Process內的工作分成多個Thread的技術。能使一個Process同時運用多顆CPU或多個核心CPU,以充份運用硬體運算資源。 2/1/2010 ICAL * Threads API Windows API – Threads 微軟提供在Windows系統上,可被各種語言乎叫的API,其中有一部份的函數可運用於建立、管理Threads,進而撰寫出Multi-Threading 的程式。 POSIX Threads (Pthreads) 專用於Unix-like POSIX 系統,如Linux、Solaris的一套可建立、管理Threads的API。此API後來也出現可在微軟Windows平台上執行的版本。 2/1/2010 ICAL * OpenMP的特點 專用於共享記憶體架構多執行緒程式開發的跨平台API 支援C、C++、Fortran語言 提供對平行演算法高階的抽象描述,可有效降低開發平行運算程式的難度和複雜度,使程式開發者更加專注於平行演算法本身,而不需要去處理具體的細節 2/1/2010 ICAL * OpenMP的特點(續) 使用Threads API的方式來進行多核心程式設計,必須自行創建threads,自行設計分配各threads的工作、順序,自行協調規劃各threads在存取記憶體時的行為並加以保護以防止計算發生錯誤,自行匯集統合各threads的計算結果,並刪除threads。 OpenMP只需在欲平行化的程式碼前加入一些相關註釋,OpenMP會自動將創建threads、管理threads、匯整結果並刪除threads,各細節自動處理完畢,可節省大量開發時間。 2/1/2010 ICAL * OpenMP vs. Multi-Threading OpenMP 優點:因許多細節都自動的被處理,開發方便快速 缺點:也因細節的被自動處理,程式人員欲開發的細節受到限制,無法針對硬體進行效能優化 Multi-Threading 優點:Threads的創建、管理的各種細節都由自行處理,可對硬體做效能優化與特殊處理 缺點:因Threads的大小細節需自行處理,在程式開發上耗時耗力 2/1/2010 ICAL * 單機系統模擬 系統模擬使用OpenMP、Windows API Threads、CUDA,以測試使用OpenMP或Threads兩種不同的程式開發方式效能差距。 將一張已被SVD分解的影像資料,會分解為紅綠藍3種顏色,每個顏色3個1024×1024的距陣。系統模擬分別使用只動用單一核心的CPU、四核心CPU和大量核心GPU以矩陣相乘的方式進行還原。 2/1/2010 ICAL * 11/17/09 GPU Device NVIDA Geforce 9600 GSO Cores 96 Processor Clock 1375 MHz Standard Memory 384 MB Memory Bandwidth 38.4 GB/sec CPU Device Intel Core 2 Quad Q9300 Cores 4 Processor Clock 2.5 GHz FSB speed 1333 MHz L2 Cache 6 MB 模擬測試環境 2/1/2010 * ICAL 測試結果 Single-CPU OpenMP Windows API Threads CUDA Red 45.157 sec. 27.453 sec. 24.625 sec. 0.578 sec. Green 45.828 sec. 24.594 sec. 26.421 sec. 0.578 sec. Blue 45.797 sec. 23.656 sec. 26.718 sec. 0.578 sec. Total (sec.) 136.782 sec. 75.703 sec. 77.764 sec. 1.734 sec. 分析 經以上實驗結果可發現,無論使用OpenMP或Threads API,在效能上的差距仍相當接近,因此在進行選擇時,可以不需要太考慮效能因素。 雖然OpenMP在程式開發上非常簡單便利,但也因

文档评论(0)

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

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

1亿VIP精品文档

相关文档