一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

工具鏈工具——映射與調度、模擬與驗證、開發(fā)與測試工具

廖慧敏 ? 來源:jf_13681693 ? 作者:jf_13681693 ? 2024-05-16 14:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇文章將重點介紹工具鏈的工具相關知識,我們將從工具鏈的基本概念出發(fā),重點介紹工具鏈中的映射和調度工具、模擬與驗證工具、開發(fā)和測試工具,最后提出對工具鏈發(fā)展的展望,從而對工具鏈的工具進行一個較為系統(tǒng)的講解。

工具鏈的基本概念

工具鏈,英文名稱toolchain,通常是指在軟件開發(fā)或硬件設計中使用的一系列工具和軟件,用于完成特定任務或流程。這些工具一般接連地使用,從而完成一個個任務,這也是“工具鏈”名稱的由來。

而在AI芯片領域,工具鏈特指連接模型算法到芯片部署的端到端系列工具。面向存算一體芯片的深度學習編譯工具鏈包括深度學習的算法設計、前端網(wǎng)絡的模型轉換、存算一體的電路設計等模塊;如今,面向傳統(tǒng)芯片的深度學習編譯工具鏈發(fā)展健全,而面向存算一體芯片的深度學習編譯工具鏈在前端優(yōu)化策略、后端空間映射等方面都仍有欠缺,這使得深度學習部署在存算一體芯片上移植性低、成本高,因此需要我們設計出能實現(xiàn)端到端的存算一體工具鏈及軟硬件系統(tǒng)。面向存內計算芯片的深度學習編譯工具鏈通常包括量化、圖優(yōu)化、映射與調度、模擬與驗證、開發(fā)與測試等工具,前面我們已經介紹過量化和圖優(yōu)化相關知識,本篇文章我們將介紹映射與調度、模擬與驗證、開發(fā)與測試這三種工具。

映射與調度工具

數(shù)據(jù)布局和計算任務在存儲陣列中的映射至關重要,相應的工具應能智能地分配和管理數(shù)據(jù)在內存單元中的位置,優(yōu)化計算效率和帶寬使用;調度工具則負責在不同時刻根據(jù)資源約束安排計算操作,確保有效利用存內計算硬件的并行性和容量。在深度學習編譯工具鏈中,映射與調度工具專門用于將高層的模型描述轉換為優(yōu)化的硬件指令,并調度這些指令到具體的計算資源上。這些工具通過高級優(yōu)化技術來提升執(zhí)行效率和硬件利用率。

下面以一些具體工具舉例:

1.TPU-MLIR[1]:

TPU-MLIR是一種專用于處理器的TPU編譯器。該編譯器項目提供了一個完整的工具鏈,可以將來自不同深度學習框架(PyTorch, ONNX, TFLite和Caffe)的各種預訓練神經網(wǎng)絡模型轉換為高效的模型文件(bmodel/cvimodel),以便在SOPHON TPU上運行。通過量化到不同精度的bmodel/cvimodel,優(yōu)化了模型在sophon計算TPU上的加速和性能。這使得可以將與對象檢測、語義分割和對象跟蹤相關的各種模型部署到底層硬件上以實現(xiàn)加速。

wKgaomZFpuKARkewABFh7NxHIUo638.png

圖 1 TPU-MLIR整體架構[1]

2.TensorRT[2]:

TensorRT是NVIDIA提供的一個高性能深度學習推理(inference)引擎,專為生產部署優(yōu)化。TensorRT提供了API解析器,可以從所有主要的深度學習框架中導入經過訓練的模型,廣泛用于需要快速推理的應用場景,如視頻分析和圖像處理。

wKgaomZFpvGAWAKXAAQmxLw0Uy4079.png

圖 2 TensorRT logo[2]

3.TVM[3]:

Apache TVM是一個端到端的深度學習編譯框架,適用于 CPUGPU 和各種機器學習加速芯片。TVM 提供以下功能:將深度學習模型編譯成最小可部署的模塊;在更多的后端自動生成和優(yōu)化模型的基礎設施,進一步提高性能。TVM支持廣泛的硬件平臺和前端框架,能夠自動優(yōu)化模型以適應不同的硬件架構。

wKgZomZFpv2AXiDxABOomawG1Rk056.png

圖 3 TVM示意圖[3]

4.OpenVINO[4]:

OpenVINO是英特爾開發(fā)的一套優(yōu)化深度學習性能的工具集,是一款可輕松實現(xiàn)“一次寫入,處處部署”的開源AI工具套件,可以縮短延遲,提高吞吐量,加速AI推理過程,同時保持精度,縮小模型占用空間,優(yōu)化硬件使用,支持多種類型的英特爾硬件。OpenVINO可以轉換和優(yōu)化使用TensorFlow和PyTorch等熱門框架訓練的模型,在多種英特爾硬件和環(huán)境、本地、設備、瀏覽器或云中部署,用于加速計算機視覺、自動駕駛等領域的深度學習推理任務。

wKgaomZFpwyAZqD5ABJ_rRTUUeg604.png

圖 4 OpenVINO原理示意圖[4]

模擬與驗證工具

芯片設計中,模擬與驗證工具是確保設計達到期望性能和功能的關鍵。這些工具模擬實際操作環(huán)境,預測芯片行為,并驗證設計是否符合規(guī)格,幫助發(fā)現(xiàn)并修正錯誤,提高產品可靠性和效率。

芯片設計的模擬技術可分為軟件仿真和硬件仿真。軟件仿真在計算機上使用仿真軟件模擬芯片設計行為,不需硬件參與,常見工具有ModelSim、VCS、Virtuoso、C++或SystemC相關芯片模擬器等;硬件仿真則使用通用硬件平臺FPGA或專用仿真器,提供更真實的硬件操作環(huán)境,仿真速度更快。

按流程的先后,芯片設計的模擬技術還可更細致地分為行為級仿真(功能仿真)、綜合后的功能仿真、綜合后帶時序信息地仿真、布局布線后的功能仿真、布局布線執(zhí)行后的時序仿真[5],工具鏈驗證使用的模擬器以行為級為主。在仿真過程中,綜合后門級功能仿真被稱為前仿,布局布線后的時序仿真被稱為后仿,前仿使用硬件描述語言描述電路邏輯;后仿在設計完成后進行,主要考慮電路物理(連線、排布、電容、電阻等)的影響。

驗證技術包括形式驗證和代碼驗證。形式驗證通過數(shù)學方法證明設計正確性,不依賴測試例,常用工具有Synopsys的VC Formal;代碼驗證,尤其是代碼覆蓋分析,用來檢查測試用例是否覆蓋所有可能路徑,幫助發(fā)現(xiàn)遺漏的功能區(qū)域。

對于新型的存內計算芯片,由于FPGA平臺難以完全仿真其核心功能,常采用軟件仿真或特定開發(fā)板如知存科技的WTMDK2101系列。而在數(shù)字芯片設計中,前端充分的邏輯仿真可避免后端問題。因此,在存算一體芯片的設計過程中,前仿和軟件仿真是非常重要的內容。

下面介紹部分常用模擬與驗證工具:

1. VCS:高性能Verilog仿真和調試工具,支持多種語言,適用于復雜SoC和ASIC設計驗證。優(yōu)勢在于仿真速度快,調試方便,但僅支持Linux和Unix系統(tǒng)。

wKgaomZFpxuAUEbBAA1UDmzG1Yw705.png

圖5 使用VCS和Verdi進行仿真并查看波形的一個簡單例子

2. PrimeTime:靜態(tài)時序分析工具,全面進行時序性能驗證,包括時序分析和功耗分析。但是該軟件的操作需要相關專業(yè)知識,準確選擇庫文件和延時文件至關重要。

3. ModelSim:支持多種HDL語言的仿真工具,提供豐富的調試功能。優(yōu)勢在于友好的用戶界面,但在仿真速度和性能上不如VCS。

4. Formality:形式驗證工具,驗證數(shù)字IC設計中功能等效性,保證設計修改不引入錯誤。但需要設計者熟悉設計語言版本,可能存在編程語言版本導致的兼容性問題。

5. Virtuoso:模擬、混合信號的設計和仿真工具,它為設計者提供了全面的設計和驗證環(huán)境,從概念設計到芯片布局和制造的每個階段都能得到支持。但是軟件功能較為復雜,所需計算資源較大。

wKgaomZFpy2AIEArAAvKUnRBV5s158.png

圖6 Virtuoso用戶界面

CEVA SoC:作為一種編程語言,SystemC可用于將硬件和軟件描述指定為抽象行為模型。SystemC還提供事件驅動型仿真接口,開發(fā)人員可以通過該接口模擬并發(fā)進程。即使尚未設計系統(tǒng)的某些部分,開發(fā)人員也可以為SoC仿真生成完整系統(tǒng)的可執(zhí)行模型。CEVA SoC模擬器提供集成SystemC仿真環(huán)境,允許系統(tǒng)工程師、架構師和軟件開發(fā)人員在硅前階段進行建模、分析和調試。該虛擬模擬器可用于架構定義和快速原型設計,并可用作有效的IP評估和概念驗證 (PoC)工具。它能夠與MATLAB無縫對接,以便用于開發(fā)算法和測試。CEVA客戶可以在FPGA平臺上模擬他們的系統(tǒng)以進行最終驗證[6]。

wKgZomZFpziAeGwnAA6NO2h1RhY199.png


圖 7 CEVA SoC模擬器示意圖[6]

開發(fā)和測試工具
芯片設計中,我們也需要一套完成的開發(fā)與測試工具,包括集成開發(fā)環(huán)境(IDE)、代碼編輯器、單元測試和集成測試工具在哪的各種工具等等。前序的模擬與驗證階段主要聚焦于設計的準確性和功能性,包括功能驗證、時序驗證、形式驗證等等;而開發(fā)和測試階段更側重于設計的實現(xiàn)與測試,包括編碼、布局布線、各種測試來確保設計的正確性和性能。

下面介紹部分常用的開發(fā)和測試工具:

1. Synopsys IO Complier II:主要應用于物理綜合,包括布局布線等相關功能,可實現(xiàn)和優(yōu)化IC的物理布局,Cadence virtuoso、Mentor Graphics Calibre等軟件也有能實現(xiàn)進行物理設計和布局的相關功能。

2. Xilinx Vivado:用于FPGA的設計和綜合,提供全面的開發(fā)環(huán)境和工具支持,可將邏輯設計映射到FPGA架構上,并生成可下載到FPGA器件的比特流文件。

wKgZomZFp0aAP1H8ABFNMcR8GK8308.png

圖8 Vivado開發(fā)界面

Vim、Emacs、VScode+iverilog:常用的代碼編輯器,常用于編輯硬件描述語言Verilog、VHDL等等。

wKgaomZFp1OACQHdABIvsfFDIaQ837.png


圖9 Vscode與iverilog聯(lián)動編寫硬件描述語言

4. Cadence Palladium Emulator:用于大規(guī)模集成電路驗證。

5. Synopsys ZeBu:用于硬件/軟件共同驗證或驗證加速。

6.Mentor Graphics Veloce Emulation Platform:用于驗證SoC設計。

7.Witmem studio:由知存科技開發(fā)的一款全功能集成開發(fā)環(huán)境,包含客戶識別的SDK推送功能,SDK包自動更新下載安裝功能,內核自動識別語法高亮編輯器,面向不同功能的個性化工程創(chuàng)建功能,以及常規(guī)IDE所具有的項目工程管理、文件編輯、編譯、調試等功能,可在知存科技官網(wǎng)進行軟件下載[7]。

wKgZomZFp2GAM3n4AA-iPs4eJPo732.png

圖10 Witmem Studio開發(fā)界面

8.其他工具:Tcl/TK、Python等用于自動化測試和腳本編寫的軟件。

總而言之,為推動存內計算規(guī)模應用,工具鏈的發(fā)展壯大將成為存內計算芯片設計中的必然訴求,它們需要業(yè)界共同發(fā)力,共同搭建面向存內計算的映射與調度、模擬與驗證、開發(fā)與測試工具鏈。相信在不久的將來,存內計算芯片相關工具鏈將迎來井噴式發(fā)展,讓我們一同分享、一同創(chuàng)造,一起見證存內計算芯片的生態(tài)繁榮時代。

參考文獻:

[1]編譯器:TPU-MLIR環(huán)境構建及使用指南(一) - 江左子固 - 博客園 (cnblogs.com).

[2]使用 NVIDIA TensorRT 加速深度學習推理(更新) - NVIDIA 技術博客.

[3]Apache TVM中文站(tvm.hyper.ai).

[4]英特爾? 發(fā)行版 OpenVINO? 工具套件 (intel.cn).

[5] FPGA中的五個級別和五種仿真(blog.csdn.net).

[6]CEVA SystemC 模擬器:出色的 SoC 模擬器 - 與非網(wǎng) (eefocus.com).

[7]知存科技存內計算芯片開發(fā)者中心(witintech.com/develop.php).

審核編輯 黃宇

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

    關注

    8

    文章

    5706

    瀏覽量

    128904
  • 芯片設計
    +關注

    關注

    15

    文章

    1087

    瀏覽量

    55668
  • 映射
    +關注

    關注

    0

    文章

    48

    瀏覽量

    16192
  • 測試工具
    +關注

    關注

    0

    文章

    60

    瀏覽量

    12129
  • 開發(fā)工具鏈

    關注

    0

    文章

    22

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于模型的動態(tài)測試工具TPT

    針對嵌入式系統(tǒng)的基于模型的動態(tài)測試工具,支持眾多業(yè)內主流的工具平臺和測試環(huán)境,可應用于整個嵌入式軟件開發(fā)周期,實現(xiàn)各種異構環(huán)境下的自動化測試
    發(fā)表于 02-20 14:28 ?1182次閱讀
    基于模型的動態(tài)<b class='flag-5'>測試工具</b>TPT

    并口開發(fā)調試工具

    并口開發(fā)調試工具包:開發(fā)調試工具包包括三個功能模塊:“并口調試器”、“并口測試信號發(fā)生器”和“并口監(jiān)視器”。
    發(fā)表于 05-26 09:53 ?37次下載

    并口開發(fā)調試工具包 (推薦)

    并口開發(fā)調試工具包 (推薦):
    發(fā)表于 05-27 10:15 ?35次下載
    并口<b class='flag-5'>開發(fā)</b>調<b class='flag-5'>試工具</b>包 (推薦)

    TD-SCDMA測試工具體系及應用

    目錄: TD-SCDMA測試工具體系 TD-SCDMA網(wǎng)絡類測試工具介紹 TD-SCDMA終端類測試工具介紹  
    發(fā)表于 08-02 15:08 ?18次下載

    汽車CAN/LIN總線測試流程和測試工具解析

    汽車CAN/LIN總線測試流程和測試工具解析 汽車CAN/LIN總線系統(tǒng)測試的關鍵是測試流程、測試標準和
    發(fā)表于 03-19 10:44 ?8657次閱讀

    TCP/UDPDbg測試工具

    TCP&UDP測試工具 V1.02 此測試工具用于開發(fā)網(wǎng)絡通訊程序時,在服務器或客戶端測試TCP/UDP通訊連接和測試數(shù)據(jù)的接收和發(fā)送
    發(fā)表于 10-26 17:30 ?327次下載

    串口調試工具

    串口調試工具 便于單片機下載 串口調試工具 串口調試工具
    發(fā)表于 11-20 16:35 ?46次下載

    滲透測試工具開發(fā)

    滲透測試工具開發(fā)
    發(fā)表于 09-07 10:30 ?18次下載
    滲透<b class='flag-5'>測試工具</b><b class='flag-5'>開發(fā)</b>

    常用的軟件測試工具有哪些_10款常用的軟件測試工具推薦

    一個好的軟件測試工具測試管理工具結合起來使用將會使軟件測試效率大大的提高。那么軟件測試工具有哪些呢?本文匯總了十款常用的軟件測試工具,具體
    發(fā)表于 04-24 14:14 ?7.6w次閱讀

    自主開發(fā)的MIL測試自動化測試工具

    37年,55顆衛(wèi)星,就在今天北斗真的成功了。 上一篇簡單文章中介紹了一下MIL測試的流程,本文章將介紹一個小編自主開發(fā)的MIL測試用的自動化測試工具。 目前國內主流
    的頭像 發(fā)表于 10-23 11:33 ?8522次閱讀
    自主<b class='flag-5'>開發(fā)</b>的MIL<b class='flag-5'>測試</b>自動化<b class='flag-5'>測試工具</b>

    常用串口通信測試工具sscom

    常用串口通信測試工具,是工程師手頭必備的工具軟件。
    發(fā)表于 06-07 15:11 ?2次下載

    滲透測試工具箱siusiu的特性及使用

    一款基于docker的滲透測試工具箱,致力于做到滲透工具隨身攜帶、開箱即用。減少滲透測試工程師花在安裝工具、記憶工具使用方法上的時間和精力。
    的頭像 發(fā)表于 10-08 11:54 ?3222次閱讀

    總線測試工具CANOE的使用指南

    CANOE可謂是常用的總線測試工具之一,不管是總線開發(fā)工程師還是測試工程師,甚至是駐場工程師,都對它很熟悉。
    發(fā)表于 10-10 15:26 ?6943次閱讀

    APK滲透測試工具:AppMessenger

    APK滲透測試工具:AppMessenger,一款適用于以APP病毒分析、APP漏洞挖掘、APP開發(fā)、HW行動/紅隊/滲透測試團隊為場景的移動端(Android、iOS)輔助分析工具
    的頭像 發(fā)表于 11-18 09:32 ?3325次閱讀

    Web端TCP/UDP測試工具!小白必學~

    Web端TCP/UDP測試工具,方便大家進行各種基于TCP和TDP的模擬測試。該測試工具不僅支持TCP和UDP測試,還支持SSL,使用極為便
    的頭像 發(fā)表于 01-08 18:17 ?1286次閱讀
    Web端TCP/UDP<b class='flag-5'>測試工具</b>!小白必學~