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

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

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

3天內不再提示

解析Roofline模型實踐

Linux閱碼場 ? 來源:面包板社區 ? 作者:Linux閱碼場 ? 2021-04-28 16:14 ? 次閱讀

在多核異構的時代,軟件人員普遍面臨的一個困惑是,面對如此復雜的系統,應該如何部署我們的算法,是應該讓它運行在CPU,GPU還是甚至類似TPU的專門ASIC上才是最佳方案?另外給定特定的計算平臺,我們的算法實現是不是已經榨干硬件平臺的最大能力,還有沒有進一步改善的空間?這些問題尋尋覓覓答案,真像霧里看花,我們渴望有一雙慧眼,幫我們穿透迷津。

在衡量計算效能的正確姿勢我們提到了內存帶寬(memory bandiwidth)和以FLOPS為代表的算力是可以很好的刻畫計算平臺的兩個指標。同時既然是要衡量算法的性能自然我們也要考慮算法的特性。基于此,論文《Roofline: An Insightful Visual Performance Model for Floating-Point Programs and Multicore Architectures》提出了Roofline模型,試圖對硬件和軟件通盤考慮,從而提出改善性能的洞見。

這里我們試著解釋如下,首先我們要介紹運算強度(arithmetic intensity,簡寫成AI)的概念,指的是針對單位內存讀寫數據進行的運算次數,以FLOP/Byte為單位。比如衡量計算效能的正確姿勢(2)介紹過的SAXPY,每次迭代,有三次內存訪問(x讀一次,y讀寫各一次),而有兩次浮點運算(乘加各一次),所以其AI為(2 * N) / (3 * N * 4) = 1/6。

int N = 1 《《 22;

void saxpy(float a, float *x, float *y){

for (int i = 0; i 《 N; ++i)

y[i] = a*x[i] + y[i];

}

引進AI后,算力FLOPS就可以用以下公式來計算。

e6fcb8b8-a7f7-11eb-9728-12bb97331649.png

兩邊取對數,

e7379988-a7f7-11eb-9728-12bb97331649.png

以logFLOPS為Y,logAI為X,我們可以得到斜截式 Y = X + logBW,另對特定平臺,算力FLOPS存在極限值,據此我們可以作如下圖。

e7486da8-a7f7-11eb-9728-12bb97331649.png

圖中紫色的線條是不是很類似屋脊線,這正是該模型命名的由來。以脊點為界,左邊區域構成內存帶寬瓶頸區域,右邊區域對應算力瓶頸區域。已知某算法的AI,其最大可獲取FLOPS很容易計算得到,見如下公式,為AI所在豎直線與Roofline的交點。如算法Algo1的AI處于內存帶寬受限區域,而算法Algo2的AI則位于算力受限區域,如果Algo1和Algo2為同一問題兩種算法方案,顯然Alg2更有機會獲取滿意的FLOPS。

e77db544-a7f7-11eb-9728-12bb97331649.png

上面公式代表了理想化的情形,實際操作中,存在各種各樣的天花板(Ceiling)障礙,算法優化的過程就是反復突破這些障礙而盡量接近roofline,最后得到理想的性能。如下圖過程展示,介紹如何通過改善算法的數據局部性以充分利用Cache,并通過向量化而調用SIMD硬件資源來達到這一目的。

e7a00b3a-a7f7-11eb-9728-12bb97331649.png

除了上面介紹的Roofline模型能夠讓我們在特定平臺“紙上談兵”改善算法性能,Roofline也可以可視化同一算法部署在不同平臺時候性能的比較,結果讓人一目了然。在Google的有關TPU(TPU是Google開發的專門用于神經網絡算法加速的芯片)的論文《In-Datacenter Performance Analysis of a Tensor Processing Unit》里,作者利用Roofline圖表來比較各種神經網絡算法分別部署在同時代CPU、GPU和TPU的性能差異,令人印象深刻。五角星、三角形、圓形分別代表對應算法在TPU、GPU和CPU上運行狀況。

e8b3005e-a7f7-11eb-9728-12bb97331649.png

需要指出的是,Roofline模型在實踐中并不像想象般容易,運用的時候有很多細微的地方需要仔細推敲。但它仍不失為非常insightful的尋寶圖,如果你能學會正確解讀,它完全有機會幫我們找到算法性能優化的巨大寶藏。以后我們會有很多場合涉及它的理念和具體用法,敬請期待。
編輯:lyn

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

    關注

    34

    文章

    1205

    瀏覽量

    120600
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10889

    瀏覽量

    212377
  • 算法
    +關注

    關注

    23

    文章

    4623

    瀏覽量

    93103

原文標題:Roofline模型初步

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

收藏 人收藏

    評論

    相關推薦

    光電效應的數學模型解析

    光電效應是指光照射在物質上,引起電子從物質表面逸出的現象。以下是光電效應的數學模型及詳細解析: 一、光電效應的基本數學模型 光子能量公式 : 表達式:E = hν 含義:E代表光子的能量,h是普朗克
    的頭像 發表于 11-25 13:46 ?1556次閱讀

    TLC555-Q1 spice模型到LTSPICE仿真軟件中提示無法解析是怎么回事?

    請教貴司提供的模型spice模型到LTSPICE仿真軟件中提示無法解析是怎么回事?
    發表于 11-08 07:42

    鴻蒙應用模型:【應用模型解析

    應用模型是系統為開發者提供的應用程序所需能力的抽象提煉,它提供了應用程序必備的組件和運行機制。有了應用模型,開發者可以基于一套統一的模型進行應用開發,使應用開發更簡單、高效。
    的頭像 發表于 05-31 11:38 ?545次閱讀
    鴻蒙應用<b class='flag-5'>模型</b>:【應用<b class='flag-5'>模型</b>】<b class='flag-5'>解析</b>

    大語言模型:原理與工程實踐+初識2

    前言 深度學習是機器學習的分支,而大語言模型是深度學習的分支。機器學習的核心是讓計算機系統通過對數據的學習提高性能,深度學習則是通過創建人工神經網絡處理數據。近年人工神經網絡高速發展,引發深度學習
    發表于 05-13 00:09

    【大語言模型:原理與工程實踐】大語言模型的應用

    ,它通過抽象思考和邏輯推理,協助我們應對復雜的決策。 相應地,我們設計了兩類任務來檢驗大語言模型的能力。一類是感性的、無需理性能力的任務,類似于人類的系統1,如情感分析和抽取式問答等。大語言模型在這
    發表于 05-07 17:21

    【大語言模型:原理與工程實踐】大語言模型的評測

    評測任務則重點評估模型在提供方法論和實踐建議方面的能力。這類任務要求模型能像經驗豐富的導師或專家那樣,為用戶提供有價值的建議和解決方案??傊?,這套綜合性的評測框架為全面評估大語言模型
    發表于 05-07 17:12

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    大語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養通用的處理能力。然而,隨著學習容量的增加,對預訓練數據的需求也相應
    發表于 05-07 17:10

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》2.0

    《大語言模型“原理與工程實踐”》是關于大語言模型內在機理和應用實踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的實踐案例,幫助讀者理
    發表于 05-07 10:30

    【大語言模型:原理與工程實踐】大語言模型的基礎技術

    全面剖析大語言模型的核心技術與基礎知識。首先,概述自然語言的基本表示,這是理解大語言模型技術的前提。接著,詳細介紹自然語言處理預訓練的經典結構Transformer,以及其工作原理,為構建大語言
    發表于 05-05 12:17

    【大語言模型:原理與工程實踐】核心技術綜述

    我也不打算把網上相關的信息在總結一下,這樣的話,工作量很大。 我主要看了-大語言模型基礎技術這節 大語言模型(Large Language Models,LLMs)的核心技術涵蓋了從模型的架構設計到
    發表于 05-05 10:56

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    大語言模型(LLM)是人工智能領域的尖端技術,憑借龐大的參數量和卓越的語言理解能力贏得了廣泛關注。它基于深度學習,利用神經網絡框架來理解和生成自然語言文本。這些模型通過訓練海量的文本數據集,如
    發表于 05-04 23:55

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐

    的未來發展方向進行了展望,包括跨領域、跨模態和自動提示生成能力方向,為讀者提供了對未來技術發展的深刻見解。《大語言模型原理與工程實踐》是一本內容豐富、深入淺出的技術書籍。它不僅為讀者提供了大語言模型
    發表于 04-30 15:35

    名單公布!【書籍評測活動NO.31】大語言模型:原理與工程實踐

    的能力將對千行百業產生深遠影響,尤其在優化業務流程和重塑組織結構方面。 然而,在研究和實踐過程中,我們遇到了一個主要挑戰:市場上缺乏大語言模型在實際應用方面的資料?,F有的資料多聚焦于理論研究,而具體的實踐
    發表于 03-18 15:49

    名單公布!【書籍評測活動NO.30】大規模語言模型:從理論到實踐

    。 為了使更多的自然語言處理研究人員和對大語言模型感興趣的讀者能夠快速了解大模型的理論基礎,并開展大模型實踐,復旦大學張奇教授團隊結合他們在自然語言處理領域的研究經驗,以及分布式系統和
    發表于 03-11 15:16

    解析EMC濾波器:關鍵作用與應用實踐?

    解析EMC濾波器:關鍵作用與應用實踐?|深圳比創達電子EMC
    的頭像 發表于 02-21 10:20 ?588次閱讀
    <b class='flag-5'>解析</b>EMC濾波器:關鍵作用與應用<b class='flag-5'>實踐</b>?
    主站蜘蛛池模板: 丁香六月色婷婷综合网| 天天操天天插天天射| xxxx.欧美| 天天操天天舔天天射| aaaa欧美高清免费| 18女人毛片水真多免费| 亚洲午夜免费视频| 国产精品高清一区二区三区| 欧色视频| 日韩免费观看一级毛片看看| 亚洲va久久久噜噜噜久久男同| 在线激情网| 五月婷婷激情综合| 在线观看中文字幕第一页| 中文天堂在线观看| 四虎国产视频| 香港三级理论在线观看网站| 色综合综合网| 六月丁香色婷婷| 欧美三级小视频| 精品三级三级三级三级三级| 毛片一级黄色| 高清色视频| 6080伦理久久精品亚洲| 手机看片日本| 欧美一级免费| 女bbbbxxxx视频| aa国产| 九月婷婷综合婷婷| 男人的j桶女人的j视频| 色偷偷亚洲天堂| 老师我好爽再深一点好大| 亚洲天堂999| 婷婷丁香激情| 色窝视频| 国产日韩精品一区二区在线观看| 性试验k8经典| 女女同免费播放毛片| xxx69欧美| 天堂网. www在线资源| 精品一区二区影院在线|