国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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推理框架專欄。

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

    關注

    1817

    文章

    50105

    瀏覽量

    265551
  • AIoT
    +關注

    關注

    8

    文章

    1644

    瀏覽量

    34135
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux進程樹分析工具pstree詳解與實戰指南(另一視角優化Linux系統)

    在 Linux 系統開發與運維中,理解進程的運行狀態和相互關系是排查問題、優化性能的基礎。pstree 作為一款輕量高效的進程樹可視化工具,能直觀展示系統中所有進程的父子關系,為系統分析提供關鍵線索。本文將從基礎用法到實戰優化
    的頭像 發表于 02-04 16:21 ?733次閱讀
    Linux進程樹分析<b class='flag-5'>工具</b>pstree詳解與實戰指南(另一視角<b class='flag-5'>優化</b>Linux系統)

    淘寶搜索API:關鍵詞優化工具,提升曝光率!

    ? ?在電商領域,曝光率是決定商品銷量的關鍵因素之一。淘寶作為國內領先的電商平臺,提供了強大的搜索API接口,幫助開發者構建關鍵詞優化工具,從而提升商品在搜索結果中的排名和曝光。本文將詳細介紹淘寶
    的頭像 發表于 01-05 15:38 ?203次閱讀
    淘寶搜索API:關鍵詞<b class='flag-5'>優化工具</b>,提升曝光率!

    程序運行速度很慢如何優化

    ;gt;外設,內存<->內存)交給DMA,釋放CPU資源。 優化算法: 選擇時間復雜度更低的算法。避免不必要的循環和重復計算。 減少函數調用開銷: 對于頻繁調用的小函數
    發表于 11-17 06:12

    如何對蜂鳥e203內核乘除法器進行優化

    器:對每個流水線階段中的數據進行部分商和余數的計算和累加操作。 二、優化方案 優化乘法器 為了提高蜂鳥E203的乘法器性能,可以采取以下幾個優化方案: 采用更高效的算法:Booth
    發表于 10-24 06:47

    優化boot4的乘法運算周期

    可以在不同的時鐘周期內完成,從而并行化運算流程,提高乘法器的運算性能。 采用多級壓縮:在Boot4乘法器中,使用了基于連乘算法的多級壓縮技術。可以通過增加多級壓縮,進一步降低管理乘法器位寬度的開銷,提升性能。 優化算法:在尋找
    發表于 10-21 13:17

    蜂鳥E203內核優化方法

    。 修改內核參數:對蜂鳥E203的內核參數進行相應修改,可以優化內核運行效率,提高系統性能,比如調整緩存大小、內存分配策略等。 資源管理:進行有針對的資源管理,例如調度算法的修改,調整好CPU占用率等,以
    發表于 10-21 07:55

    怎樣確保自動化工具在電能質量在線監測裝置的安全防護檢查中的準確性?

    ? 確保自動化工具在電能質量在線監測裝置安全防護檢查中的準確性,需圍繞 “ 工具本質可靠性、場景適配性、結果可驗證性、全生命周期管控 ” 四大核心,從工具選型、校準溯源、算法
    的頭像 發表于 09-23 17:42 ?618次閱讀

    UWB自動跟隨技術原理、算法融合優化和踩坑實錄

    UWB為什么是最靠譜的自動跟隨技術?原理是什么?需要做什么算法融合、優化?我們在開發過程中踩過的坑。
    的頭像 發表于 08-14 17:45 ?1562次閱讀
    UWB<b class='flag-5'>自動</b>跟隨技術原理、<b class='flag-5'>算法</b>融合<b class='flag-5'>優化</b>和踩坑實錄

    信號發生器如何與波束賦形算法配合優化

    、SINR和誤碼率(BER),優化算法參數(如波束寬度、掃描步長)。 2. 軟件級配合:信號發生器與算法仿真工具鏈協同 工具鏈組成: MA
    發表于 08-08 14:41

    UPS電源—工業自動化,UPS電源優化電力的秘訣

    在工業自動化領域,電力質量的穩定性對于設備的正常運行和生產效率至關重要。UPS電源(不間斷電源)作為電力保障的關鍵設備,通過一系列技術手段,能夠有效地優化工自動化中的電力質量。以下是UPS電源在工業
    的頭像 發表于 08-04 22:14 ?780次閱讀
    UPS電源—工業<b class='flag-5'>自動</b>化,UPS電源<b class='flag-5'>優化</b>電力的秘訣

    鴻蒙5開發寶藏案例分享---性能優化案例解析

    鴻蒙性能優化寶藏指南:實戰工具與代碼案例解析 大家好呀!今天在翻鴻蒙開發者文檔時,意外挖到一個 性能優化寶藏庫 ——原來官方早就提供了超多實用工具和案例,但很多小伙伴可能沒發現!這篇就
    發表于 06-12 16:36

    VirtualLab:光柵的優化與分析

    光柵是光學工程師使用的最基本的工具。為了設計和分析這類組件,快速物理光學建模和設計軟件VirtualLab Fusion為用戶提供了許多有用的工具。其中包括參數優化,以輕松優化系統,以
    發表于 05-23 08:49

    OptiSystem應用:增益平坦濾波器優化

    擇過濾器組件,可視化工具選項卡應選擇雙端口分析器。 設置優化 優化參數設置 優化元件選擇增益平坦濾波器 可視化工具選項卡應選擇雙端口
    發表于 04-10 08:49

    英諾達推出RTL功耗優化工具

    英諾達(成都)電子科技有限公司隆重推出芯片設計早期RTL級功耗優化工具—EnFortius RTL Power Explorer(ERPE),該工具可以高效、全面地在RTL設計階段進行功耗優化機會
    的頭像 發表于 03-20 17:06 ?1188次閱讀

    VirtualLab Fusion應用:使用optiSLang進行光柵優化

    Fusion中提供了來自Dynardo的optiSLang軟件接口,因此使優化過程可以應用不同的高級優化算法。 2.VirtualLab Fusion 和optiSLang的界面 兩種軟件平臺的結合
    發表于 03-18 08:51