精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

算法優化福音:算子自動優化工具AutoKernel正式開源啦

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-08 22:28 ? 次閱讀
文章轉載于: Tengine開發者社區
作者:小O妹

算子自動優化的發展趨勢
隨著AI技術的快速發展,深度學習在各個領域得到了廣泛應用。深度學習模型能否成功在終端落地應用,滿足產品需求,一個關鍵的指標就是神經網絡模型的推理性能。于是,一大波算法工程師為了算法的部署轉崗算子優化工程師。然而,優化代碼并不是一件簡單的事,它要求工程師既要精通計算機體系架構,又要熟悉算法的計算流程,于是,稍微有經驗的深度學習推理優化工程師都成了各家公司爭搶的“香餑餑”。人才少,需求多,算子優化自動化是未來的大趨勢。
AutoKernel是什么?

最近,一個致力于降低優化門檻,提升優化開發效率的算子自動優化工具AutoKernel開源了。

AutoKernel是一個高性能算子自動優化工具,可以自動優化調度策略、生成底層優化代碼,大幅減少各硬件芯片算子開發成本,提升算子優化效率,讓工程師更快實現深度學習算法在各硬件芯片上的高性能部署。
AutoKernel的定位
為了方便大家進一步理解AutoKernel,我們需要先了解一下深度學習推理計算平臺的層級。

深度學習的推理計算平臺可以分為以下幾個層級:
1、最上層對接各個深度學習訓練框架訓練出來的算法模型(Tensorflow, Caffe, Pytorch, Mxnet等);
2、 Hign-level IR是計算圖(Computation Graph)層級。神經網絡可以理解為計算圖(graph),一個計算圖由多個算子(opterator)節點組成,這些節點可以是卷積算子(Convolution), 池化算子(Pooling), 全連接算子(Fc)等。這個層級可以進行一些圖層級的優化,算子融合,子圖切分的操作等;
3、接下來就是算子(Operator/Kernel)層級。這個層級需要支持每個硬件后端的每個算子實現。目前的高性能算子計算庫主要是由資深HPC工程師(高性能計算優化工程師)進行手工開發。AutoKernel就是算子層級的一個自動優化工具,自動生成適應不同后端的算子優化代碼;
4、最后是各硬件后端:GPU, ARM CPU, X86 CPU, NPU等。
AutoKernel目前屬于算子層級的自動優化工具。
AutoKernel如何實現部署優化?
部署優化之前,我們先了解一下AutoKernel的三大特性:
·低門檻: 無需底層優化匯編的知識門檻
·簡單易用: 提供docker環境,無需安裝環境,plugin一鍵集成到推理框架
·高效率: 無需手寫優化匯編,一鍵生成優化代碼,一鍵部署
作為算子層級的一個自動優化工具,AutoKernel支持將自動優化的算子代碼集成進部署推理框架,主要流程分為兩步:
1. 生成:編寫算法描述和調度策略,生成相應后端的優化算子代碼;
2. 部署:將生成的優化算子代碼通過插件plugin的形式集成進推理框架Tengine。

AutoKernel的算子生成模塊(Op Generator)使用了業界廣泛使用的自動代碼生成項目Halide。Halide是一個DSL(domain specific language) 編程語言,它將算法和硬件后端分離。本模塊輸入Halide語言的算法描述和優化調度策略,指定硬件后端,就可以自動生成優化代碼。為了減少開發者配置環境的遇到問題,AutoKernel提供了docker鏡像,docker里面已經安裝好Halide, 并且配置好Halide的Python的API,方便開發者使用。
AutoKernel的部署模塊Autokernel Plugin是一個相對獨立的插件,只依賴于Tengine的算子頭文件,不依賴于Tengine庫。它實現了將AutoKernel Generator生成優化的算子代碼,以Plugin的形式集成進Tengine推理框架中,實現自動優化算子的一鍵部署。整個過程不需要重新編譯Tengine庫,只需要獨立編譯Plugin的動態庫,在運行時加載Autokernel Plugin的庫,就能調用自動生成的算子實現。下面的圖展示了使用AutoKernel前后的變化,只需要在運行時添加一行代碼,加載autokernel plugin的動態庫:

AutoKernel還有一個模塊叫AutoSearch,該模塊通過強化學習/機器學習/遺傳算法搜索出相應后端的最優算子的調度策略參數。該模塊目前仍在開發中。
AutoKernel使用教程
下圖是展示了在Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz的電腦上的優化效果,無需手工擼代碼,無需編寫繁雜冗長的底層匯編代碼,只需十幾行簡潔的調度代碼, 就能性能優化200+倍~

推薦閱讀

更多Tengine相關內容請關注Tengine-邊緣AI推理框架專欄。

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

    關注

    1791

    文章

    46859

    瀏覽量

    237582
  • AIoT
    +關注

    關注

    8

    文章

    1389

    瀏覽量

    30574
收藏 人收藏

    評論

    相關推薦

    使用Arthas火焰圖工具的Java應用性能分析和優化經驗

    分享作者在使用Arthas火焰圖工具進行Java應用性能分析和優化的經驗。
    的頭像 發表于 10-28 09:27 ?153次閱讀
    使用Arthas火焰圖<b class='flag-5'>工具</b>的Java應用性能分析和<b class='flag-5'>優化</b>經驗

    英飛凌與采埃孚合作優化自動駕駛軟件

    英飛凌科技股份公司與采埃孚集團攜手參與了EEmotion項目,共同開發并實施了創新的AI算法,以優化自動駕駛軟件和控制單元。
    的頭像 發表于 10-12 16:17 ?313次閱讀

    AFE7070在VHF頻段優化工

    電子發燒友網站提供《AFE7070在VHF頻段優化工作.pdf》資料免費下載
    發表于 09-26 10:39 ?0次下載
    AFE7070在VHF頻段<b class='flag-5'>優化工</b>作

    基于 DSP5509 進行數字圖像處理中 Sobel 算子邊緣檢測的硬件連接電路圖

    優化。例如,可以調整存儲模塊的訪問速度、優化 Sobel 算子的計算算法、提高顯示模塊的刷新率等,以提高系統的性能和穩定性。 總之,基于 DSP5509 的數字圖像處理中 Sobel
    發表于 09-25 15:25

    優化 FPGA HLS 設計

    優化 FPGA HLS 設計 用工具用 C 生成 RTL 的代碼基本不可讀。以下是如何在不更改任何 RTL 的情況下提高設計性能。 介紹 高級設計能夠以簡潔的方式捕獲設計,從而
    發表于 08-16 19:56

    傾斜光柵的魯棒性優化

    直接納入優化過程,例如參數變化分析儀。該工具結合了同一系統的多次迭代,在優化過程中實現了評價函數的表示和自動計算,如平均效率。在這個用例中,我們通過稍微改變填充因子來
    發表于 08-12 18:38

    神經網絡優化算法有哪些

    神經網絡優化算法是深度學習領域中的核心技術之一,旨在通過調整網絡中的參數(如權重和偏差)來最小化損失函數,從而提高模型的性能和效率。本文將詳細探討神經網絡優化算法的基本原理、主要方法、
    的頭像 發表于 07-03 16:01 ?457次閱讀

    寶塔面板Docker一鍵安裝:部署GPTAcademic,開發私有GPT學術優化工具

    人工智能的浪潮中,GPT模型因其強大的自然語言處理能力備受矚目。然而,為了更好地應用于學術領域,許多人希望能部署自己私有的GPT學術優化工具。本文將詳細介紹如何通過寶塔面板和Docker一鍵安裝
    的頭像 發表于 07-02 11:58 ?2462次閱讀
    寶塔面板Docker一鍵安裝:部署GPTAcademic,開發私有GPT學術<b class='flag-5'>優化工具</b>

    OpenHarmony之開機優化

    一丶環境信息 源碼版本:OpenHarmony-4.1-Release 板子型號:dayu200(RK3568) 二丶Bootchart工具 在開機優化時,我們需要借助Bootchart工具,當前
    發表于 07-01 16:39

    ClickHouse內幕(3)基于索引的查詢優化

    ClickHouse基于索引的查詢算子優化方式。 在整個查詢計劃中Sort、Distinct、聚合這3個算子相比其他算子比如:過濾、projection等有如下幾個特點:1.
    的頭像 發表于 06-11 10:46 ?937次閱讀
    ClickHouse內幕(3)基于索引的查詢<b class='flag-5'>優化</b>

    深度學習編譯工具鏈中的核心——圖優化

    等,需要調整優化網絡中使用的算子算子組合,這就是深度學習編譯工具鏈中的核心——圖優化。圖優化
    的頭像 發表于 05-16 14:24 ?844次閱讀
    深度學習編譯<b class='flag-5'>工具</b>鏈中的核心——圖<b class='flag-5'>優化</b>

    如何對MD5加密算法優化

    有人針對程序安全啟動過程,進行MD5算法優化嘛。目前采用標準算法,時間稍長,如果有人做過優化的話,可以分享一下,謝謝。
    發表于 02-18 08:20

    【技術干貨】PID算法原理分析及優化

    本期為大家分享經典控制算法之一的 PID控制方法。 PID控制方法從提出至今已有百余年歷史,其由于結構簡單、易于實現、魯棒性好、可靠性高等特點,在機電、冶金、機械、化工等行業中應用廣泛。下面就跟著
    發表于 12-22 15:38

    微波腔體在微帶環行器中的設計與優化

    [摘 要] 本文介紹了微波腔體在微帶環行器產品中的設計與優化,文中通過使用仿真軟件HFSS作為優化工具,具體用到了HFSS中本征模求解器來進行腔體諧振頻率的仿真,很好的避免了腔體效應對電路電氣性能的影響,達到了優化的目的。
    的頭像 發表于 12-18 10:33 ?1108次閱讀
    微波腔體在微帶環行器中的設計與<b class='flag-5'>優化</b>

    ADI高性能電源管理產品:最快和最精確的穩壓器設計和優化工具

    電子發燒友網站提供《ADI高性能電源管理產品:最快和最精確的穩壓器設計和優化工具.pdf》資料免費下載
    發表于 11-27 11:01 ?0次下載
    ADI高性能電源管理產品:最快和最精確的穩壓器設計和<b class='flag-5'>優化工具</b>