在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

異構計算的軟硬件分割沒有最好,只有更好的詳細資料概述

SSDFans ? 來源:未知 ? 作者:易水寒 ? 2018-07-06 11:00 ? 次閱讀

我們有飛機、汽車、輪船、自行車、地鐵、高鐵、公交車、雙腿等各種交通工具,各自有優缺點,舉個例子,阿呆從上海出差去北京賣書,整個流程是:

1. 打車到虹橋高鐵站:靈活機動,運量小,24小時運營,經常堵車;

2. 坐高鐵到北京南站:高速,運量大,路線、時間和起始站點有限制,建設周期長;

3. 從北京南站坐地鐵到奧林匹克公園地鐵站:市內速度穩定,運量大,時間和起始站點有限制,建設周期長;

4. 從地鐵站走路到國家會議中心新書簽售:慢,但是方便,兩條腿,沒有路都能走出一條路。

可以看出,一次旅行,其實結合了各種交通工具的優點。隨著摩爾定律的失效和CPUAI等并行計算方面的缺陷,目前數據中心的計算機,已經不僅僅是CPU一種計算芯片,還要結合GPUFPGA做異構計算體系。

CPU是出租車,方便靈活,但是要等紅綠燈,市區內道路多,有限速,運量小,車多了還堵車;FPGA是高鐵和地鐵,運量大,但是建設周期長,只能部署在人流量最大的線路上。

我們做異構計算的軟硬件分割也是遵循同樣的思想,普通的控制程序還是交給CPU執行,把計算量最大、最耗時間的任務轉移到FPGA上執行,達到硬件加速的目標。

軟硬件最佳分割方案:理論上無解

如下圖,一個程序,通過對程序進行分割,把任務分解到CPU和FPGA、GPU、AI芯片等加速器執行。如果我們把程序分成N段,那么每一段都有兩個選擇:軟件或者硬件,最后N段程序有2^N種分割方案,所以,最終要分段程序,尋找分配到軟硬件的最佳方案是一個數學上有名的NP難題,解不出來。。。

我們沒辦法算出一個理論上的最佳方案,只能是不斷逼近,沒有最好,只有更好。

我們希望有一天能做到像下面這張圖一樣,我們寫好的C/C++/Java等代碼,編譯后,自動分解成軟硬件執行的程序,軟件的交給CPU執行,硬件的讓FPGA執行。盡管很難,但是還是要有夢想,萬一實現了呢?

異構計算的軟硬件分割沒有最好,只有更好的詳細資料概述

阿姆達爾定律

現在有很大一批人,對新的產品和技術比較排斥,覺得很low,沒有技術含量。可是,任何一個新東西,剛出來的時候就是很簡單,慢慢才變得復雜。比如區塊鏈深度學習、量子通信這些熱門的技術,一開始實踐的時候并不是很復雜。

1967年,有一位IBM的計算機科學家叫做阿姆達爾(Amdahl),他寫了一個很簡單的公式,卻成了并行計算領域的基本定律。阿姆達爾定律說,一個程序能被硬件加速多少倍,其實取決于不能被硬件加速的那段程序。比如四分之三的程序可以通過并行計算、流水線等技術被硬件加速,但是有四分之一的程序還是得順序執行,那么加速最大的倍數就是四分之三的程序幾乎不花時間就算完了,用了四分之一的時間執行剩下不能加速的程序,最終可以加速4倍。

我們也知道這叫短板效應,木桶的容積是最短的那塊板決定的。我們中國現在高鐵、電視、冰箱、移動支付、共享單車、輪船都能做到世界第一,但就是芯片不能造,導致國家還是受制于人(美帝)。

當然,這個程序的占比不是按照代碼的長短算的,而是按照程序執行的時間劃分。為了達到最好的硬件加速效果,我們要把最占時間的程序都放到FPGA去。

關于這個定律的詳細解釋請參考科大陳國良院士的《并行計算機體系結構》一書2.3.1節。

90%/10%定律

上面這張圖是對一個程序中執行最多的的10段代碼占用時間的累計,符合90%/10%定律:10%的代碼執行占用了90%的程序運行時間。

所以我們很幸運,不需要操心那么多軟件代碼,只需要把最關鍵的10%代碼轉移到FPGA就可以了。

軟硬分割的考慮因素

我們在對一個程序做軟硬分割時,需要回答以下幾個問題:

1. 程序分段粒度多大?

2. 分割方案的評估

3. 每段分區有哪些實現方案?

4. 軟硬件如何交互?

5. 計算占用的面積。

程序分段粒度多大?

其實就是要把程序里的哪幾段代碼下放到硬件去,開小灶。這個代碼段要分到多細?如果太粗,那么操作比較簡單,花的時間少,但是最終效果可能沒那么好。分的太細,又太花時間,每一段都要分析和推算,考慮軟硬件交互,甚至需要專門的工具去做。

最簡單的辦法就是挑幾個關鍵的函數、算法或者for/while循環放到硬件去加速。

分割方案的評估

如果我們要確定軟件和硬件分工的方案,就需要評估和對比幾個方案,從性能、成本、功耗等幾個方面來評價。項目一開始,其實做不了太精確的評估,只能是粗糙的做一個估算,看看到底要用到多少LUT、RAM和乘法器、硬件IP等資源,再估算性能和延遲。

等到大體確定了一個目標方案,就可以寫代碼,用綜合工具做一個綜合,就能得到比較精確的資源占用情況。

不同的實現方案怎么選擇?

對于每一段要硬件加速的軟件程序,硬件上都有不同的實現方案。如下圖,是100個乘法的例子,有三個方案:

(a)方案用了100個乘法器,性能最強,用的資源也最多;

(b)方案用了1個乘法器,要排隊乘100次才能算完,性能最差,用的資源最少;

(c)方案用了10個乘法器,每個用10次,性能和資源都比較折中。

所以,最終采用什么方案要根據實際的需求和FPGA的大小來確定,FPGA不是ASIC,資源沒有那么多,能省則省。

軟硬件如何交互?

本來是一個順序執行的軟件程序,我們拆出了一部分放到FPGA去執行,所以就涉及到軟硬件交互的問題。如下圖(a),

左邊是同步方案,軟件干完,就讓FPGA干,軟件在旁邊等,這樣交替干活。這種方案比較傻瓜式,簡單易行。而且性能不一定差,因為硬件計算快,軟件可能等一會兒就好了。

右邊是異步方案,軟件和硬件各干各的,同時工作,效率高,但是控制比較復雜,畢竟涉及到一些共享的數據,處理起來比較麻煩。如果硬件計算時間長,軟件等得久,就可以考慮這種模式。

另外,還要考慮軟硬件的通信方式,如上圖(b),是各種通信方案,有的通過共享內存,有的是通過CPU直連、共享緩存,還有像牛郎織女一樣搭一座橋互聯。還有幾個硬件加速器之間綁定在一起和CPU通信,還是分開,都需要考慮到。

用AI輔助軟硬件劃分

傳統的硬件加速項目流程如下:

1. 確定要加速的軟件程序;

2. 架構師通過評估和統計數據、性能計算確定軟硬件分離方案和硬件架構;

3. 工程師開始寫代碼、仿真、驗證、測試。

但是,也有一些自動化工具來智能評估軟硬件分割方案。前面說過,理論上是找不到最佳方案的,因為計算量是個天文數字,我們只能不斷逼近。逼近的方法如下:

1. 把程序切分成幾段,給出軟件和硬件時間、硬件資源,算出一個評估結果。

2. 再隨機把程序分段,算出一個評估結果,看看是不是更好,如果更好,就用這個方案。

3. 繼續迭代。

上面的方法采用了隨機數的方法,不斷找到更優解。但是,如今隨著AI的日漸成熟,我們相信,也會有人會用AI技術來尋找更好的自動化軟硬件分離方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    606012
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4775

    瀏覽量

    129357
  • AI
    AI
    +關注

    關注

    87

    文章

    31516

    瀏覽量

    270333
  • 軟硬件
    +關注

    關注

    1

    文章

    303

    瀏覽量

    19267
  • 異構計算
    +關注

    關注

    2

    文章

    102

    瀏覽量

    16338

原文標題:阿呆讀可重構計算4:要軟還是要硬?

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【一文看懂】什么是異構計算

    隨著人工智能、深度學習、大數據處理等技術的快速發展,計算需求的復雜性不斷提升。傳統的單一計算架構已難以滿足高效處理復雜任務的要求,異構計算因此應運而生,成為現代計算領域的一個重要方向。
    的頭像 發表于 12-04 01:06 ?1737次閱讀
    【一文看懂】什么是<b class='flag-5'>異構計算</b>?

    異構計算的前世今生

    異構計算已經成了半導體業界不得不思考的一個話題,傳統通用計算的性能捉襟見肘,過去承諾的每隔一段時間芯片性能翻倍的豪言壯語已經沒有人再提了。如今我們用到的手機中,各種除CPU以外的計算
    的頭像 發表于 12-17 09:35 ?4426次閱讀

    異構計算在人工智能什么作用?

    異構計算(Heterogeneous Computing)是指使用不同類型指令集和體系架構的計算單元組成的計算系統。異構計算是性能、成本和功耗均衡的技術,同時也是讓最適合的專用
    發表于 08-07 08:39

    什么是異構并行計算

    先了解什么是異構并行計算同構計算是使用相同類型指令集和體系架構的計算單元組成系統的計算方式。而異構計算
    發表于 07-19 08:27

    異構計算的前世今生

    異構計算已經成了半導體業界不得不思考的一個話題,傳統通用計算的性能捉襟見肘,過去承諾的每隔一段時間芯片性能翻倍的豪言壯語已經沒有人再提了。如今我們用到的手機中,各種除CPU以外的計算
    發表于 12-26 08:00

    異構計算場景下構建可信執行環境

    令集、不同功能的算力單元,組合起來形成一個混合的計算系統,使其具有更強大、更高效的功能。如何在異構計算場景下構建可信執行環境呢?華為可信計算首席科學家、IEEE硬件安全與可信專委會聯席
    發表于 08-15 17:35

    異構計算芯片的機遇與挑戰

    異構計算的機遇與挑戰 異構計算是指不同類型的指令集和體系架構的計算單元組成的系統的計算方式,目前 CPU+GPU以及CPU+FPGA 都是最受業界關注的
    發表于 09-27 10:22 ?26次下載

    異構計算的兩大派別 為什么需要異構計算

    20世紀80年代,異構計算技術就已經誕生了。所謂的異構,就是CPU、DSP、GPU、ASIC、協處理器、FPGA等各種計算單元、使用不同的類型指令集、不同的體系架構的計算單元,組成一個
    發表于 04-28 11:41 ?2.3w次閱讀

    KeyStone處理器的硬件系統設計詳細資料概述

    本文的主要內容介紹的是KeyStone處理器的硬件系統設計的詳細資料概述
    發表于 04-28 10:38 ?8次下載
    KeyStone處理器的<b class='flag-5'>硬件</b>系統設計<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    藍牙無線數據傳輸軟硬件和測試程序的詳細資料概述

    本文檔的主要內容詳細介紹了藍牙無線數據傳輸軟硬件和驅動的手機通訊程序和串口調試測試程序的資料概述詳細介紹了XM-04XM-05XM-06X
    發表于 06-19 08:00 ?18次下載

    異構計算:架構與技術

    ,以及如何通過將計算任務安排給最適合的處理器,從而幫助您充分地利用移動硬件異構計算旨在幫助您實現更好的應用性能,同時改善發熱量,提高電源效率。 但是,不是所有能夠進行
    發表于 09-18 19:18 ?892次閱讀

    異構計算,你準備好了么?

    摩爾定律失靈了,已是不爭的事實。單純的提升一種芯片性能變的代價越來越高,與此同時,異構計算成為提高計算力的主流方向。 什么是異構計算異構計算的前景怎么樣? OpenPOWER系統上
    發表于 09-25 17:27 ?502次閱讀

    ARM9教程之軟硬件設計的詳細資料說明

    本文檔的主要內容詳細介紹的是ARM9教程之軟硬件設計的詳細資料說明。
    發表于 03-13 18:07 ?15次下載
    ARM9教程之<b class='flag-5'>軟硬件</b>設計的<b class='flag-5'>詳細資料</b>說明

    嵌入式系統設計教程之軟硬件功能劃分的詳細資料說明

    本文檔的主要內容詳細介紹的是嵌入式系統設計教程之軟硬件功能劃分的詳細資料說明。
    發表于 07-26 16:42 ?13次下載
    嵌入式系統設計教程之<b class='flag-5'>軟硬件</b>功能劃分的<b class='flag-5'>詳細資料</b>說明

    新一代計算架構超異構計算技術是什么 異構走向超異構案例分析

    異構計算架構是一種將不同類型和規模的硬件資源,包括CPU、GPU、FPGA等,進行異構集成的方法。它通過獨特的軟件和硬件協同設計,實現了計算
    發表于 08-23 09:57 ?900次閱讀
    新一代<b class='flag-5'>計算</b>架構超<b class='flag-5'>異構計算</b>技術是什么 <b class='flag-5'>異構</b>走向超<b class='flag-5'>異構</b>案例分析
    主站蜘蛛池模板: 国产专区青青草原亚洲 | 天天操天天干天天玩 | 亚洲色图综合网站 | 717影院理伦午夜论八戒 | 阿v视频在线观看免费播放 爱爱视频天天干 | 免费一级特黄特色大片在线观看 | 一区二区手机视频 | 91aaa免费观看在线观看资源 | 黄色美女网站免费 | 四虎永久精品视频在线 | 成人国产永久福利看片 | 午夜香港三级在线观看网 | 欧美色图综合 | 久久久婷婷| 依人成人| 四虎在线免费视频 | 久久青草免费91观看 | 天天毛片 | 国产日韩欧美综合色视频在线 | 四虎影院大全 | 国产一级特黄毛片 | 永久免费看www色视频 | 亚洲成人网在线观看 | 在线免费观看黄色小视频 | 欧美一区二区三区不卡免费观看 | 亚洲国内精品自在线影视 | 国产欧美另类第一页 | 久久五月女厕所一区二区 | 亚洲国产成人在线 | 欧美伊人网 | 日本三级日本三级日本三级极 | 91日韩精品天海翼在线观看 | 狠狠干天天色 | 失禁h啪肉尿出来高h健身房 | 欧美网站在线 | 4438成人成人高清视频 | 一色屋精品免费视频 视频 一色屋免费视频 | 亚洲swag精品自拍一区 | 欧美日本俄罗斯一级毛片 | a看片| 欧美无遮挡一区二区三区 |