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

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

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

3天內(nèi)不再提示

RISC-V架構(gòu)下AI融合算力及其軟件棧實踐

進迭時空 ? 2025-06-06 17:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

面對未來大模型(LLM)、AIGC等智能化浪潮的挑戰(zhàn),進迭時空在RISC-V方向全面布局,通過精心設(shè)計的RISC-V DSA架構(gòu)以及軟硬一體的優(yōu)化策略,將全力為未來打造高效且易用的AI算力解決方案。目前,進迭時空已經(jīng)取得了顯著的進展,成功推出了第一個版本的智算核(帶AI融合算力的智算CPU)以及配套的AI軟件棧。

軟件棧簡介

AI算法部署旨在將抽象描述的多框架算法模型,落地應(yīng)用至具體的芯片平臺,一般采用CPU、GPU、NPU等相關(guān)載體。在目前的邊緣和端側(cè)計算生態(tài)中,大家普遍認為傳統(tǒng)CPU相較于NPU有極大的成本劣勢,并且缺少基于CPU定制AI算力的能力或者相關(guān)授權(quán),導(dǎo)致在實際落地場景中,NPU的使用率很高。但是NPU有其致命的缺點,各家NPU都擁有獨特的軟件棧,其生態(tài)相對封閉,缺乏與其他平臺的互操作性,導(dǎo)致資源難以共享和整合。對于用戶而言,NPU內(nèi)部機制不透明,使得基于NPU的二次開發(fā),如部署私有的創(chuàng)新算子,往往需要牽涉到芯片廠商,IP廠商和軟件棧維護方,研發(fā)難度較大。著眼于這些實際的需求和問題,我們的智算核在設(shè)計和生態(tài)上采取了開放策略。以通用CPU為基礎(chǔ),結(jié)合少量DSA定制(符合RISC-V IME擴展框架)和大量微架構(gòu)創(chuàng)新,以通用CPU的包容性最大程度復(fù)用開源生態(tài)的成果,在兼容開源生態(tài)的前提下,提供TOPS級別的AI算力,加速邊緣AI。這意味著我們可以避免低質(zhì)量的重復(fù)開發(fā),并充分利用開源資源的豐富性和靈活性,以較小的投入快速部署和使用智算核。這種開放性和兼容性不僅降低了部署大量現(xiàn)有AI模型的門檻,還為用戶提供了更多的創(chuàng)新可能性,使得AI解決方案不再是一個專門的領(lǐng)域,而是每個程序員都可以參與和創(chuàng)新的領(lǐng)域。

4083eea4-42b5-11f0-986f-92fbcf53809c.png

(圖一:進迭時空AI軟件棧架構(gòu))如上圖所示,基于進迭時空的AI技術(shù)路線,我們能輕松的以輕量化插件的方式,無感融入到每一個AI算法部署框架中,目前我們以O(shè)NNXRuntime為基礎(chǔ),結(jié)合深度調(diào)優(yōu)的加速后端,就可以成功的將模型高效的部署到我們的芯片上。對于用戶來說,如果有ONNXRuntime的使用經(jīng)驗,就可以無縫銜接。加入進迭時空插件的使用方式如下:C/C++

C++
#include
#include "spacemit_ort_env.h"

std::string net_param_path = "your_onnx_model.onnx";

Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "ort-demo");
Ort::SessionOptions session_options;

// 可選加載SpaceMIT環(huán)境初始化加載專屬EP
Ort::SessionOptionsSpaceMITEnvInit(session_options);
Ort::Session session(env, net_param_path, session_options);

// 加載輸入
// .......
auto output_tensors = session.Run(Ort::RunOptions{nullptr}, input_node_names.data(), &input_tensor, input_count,
output_node_names.data(), output_count);

Python

Python
import onnxruntime as ort
import numpy as np
import spacemit_ort

net_param_path = "resnet18.q.onnx"
session = ort.InferenceSession(net_param_path, providers=["SpaceMITExecutionProvider"])
input_tensor = np.ones((1, 3, 224, 224), dtype=np.float32)
outputs = session.run(None, {"data": input_tensor})

通過開放的軟件棧,使得我們的芯片能夠在短時間內(nèi)支持大量開源模型的部署,目前已累計驗證了包括圖像分類、圖像分割、目標檢測、語音識別、自然語言理解等多個場景的約150個模型的優(yōu)化部署,timm、onnx modelzooppl modelzoo等開源模型倉庫的支持通過率接近100%,而且理論上我們能夠支持所有的公開onnx模型。智算核的軟硬協(xié)同優(yōu)化

在保證通用性和易用性的同時,我們利用智算核的特點,極大優(yōu)化了模型推理效率。

離線優(yōu)化

離線優(yōu)化包含常見的等價計算圖優(yōu)化(如常量折疊、算子融合、公共子表達式消除等)、模型量化等,其中模型量化將浮點計算映射為低位定點計算,是其中效果最顯著的優(yōu)化方式。在智算核融合算力的加持下,算子可編程性很高,相較于NPU固化的量化計算方式,智算核能夠根據(jù)模型應(yīng)用特點,匹配更寬泛的數(shù)據(jù)分布,實現(xiàn)量化計算的精細化、多樣化,以便于在更小的計算與帶寬負載下,實現(xiàn)更高的推理效率。

運行時優(yōu)化

區(qū)別于NPU系統(tǒng)中,AI算子會根據(jù)NPU支持與否,優(yōu)先調(diào)度到NPU上執(zhí)行,并以host CPU作為備選執(zhí)行的方式。進迭時空的智算核采用了擴展AI指令的設(shè)計,以強大的vector算力和scalar算力作為支撐,確保任意算子都能夠在智算核上得到有效執(zhí)行,無需擔(dān)心算子支持或調(diào)度問題。這種設(shè)計不僅簡化了用戶的操作流程,還大大提高了模型的執(zhí)行效率和穩(wěn)定性。

此外,進迭時空的智算核還支持多核協(xié)同工作,進一步提升了AI算力。用戶只需在運行時通過簡單的線程調(diào)度,即可靈活調(diào)整所使用的AI算力資源。

AI算力指令基礎(chǔ)

智算核的AI算力主要來自擴展的AI指令。我們針對AI應(yīng)用中算力占比最高的卷積和矩陣乘法,基于RISCV Vector 1.0 基礎(chǔ)指令,新增了專用加速指令。遵從RISCV社區(qū)IME group的方式,復(fù)用了Vector寄存器資源,以極小的硬件代價,就能給AI應(yīng)用帶來10倍以上的性能提升。

AI擴展指令按功能分為點積矩陣乘累加指令(后面簡稱矩陣累加指令)和滑窗點積矩陣乘累加指令(后面簡稱滑窗累加指令)兩大類,矩陣累加指令和滑窗累加指令組合,可以轉(zhuǎn)化成卷積計算指令。

以256位的向量矩陣配合4*8*4的mac單元為例,量化后的8比特輸入數(shù)據(jù)在向量寄存器中的排布,需要被看成是4行8列的二維矩陣;而量化后的8比特權(quán)重數(shù)據(jù)在寄存器中的排布,會被看成是8行4列的二維矩陣,兩者通過矩陣乘法,得到4行4列輸出數(shù)據(jù)矩陣,由于輸出數(shù)據(jù)是32比特的,需要兩個向量寄存器存放結(jié)果。

如圖二所示,為矩陣累加指令,輸入數(shù)據(jù)只從VS1中讀取,權(quán)重數(shù)據(jù)從VS2中讀取,兩者進行矩陣乘法。

40b03338-42b5-11f0-986f-92fbcf53809c.png

(圖二:矩陣累加指令數(shù)據(jù)排布示例)

如圖三所示,為滑窗累加指令,輸入數(shù)據(jù)從VS1和VS1+1中讀取,讀取的數(shù)據(jù),通過滑動的大小決定(大小為8的倍數(shù)),權(quán)重數(shù)據(jù)從VS2中讀取,兩者進行矩陣乘法。

40dc0616-42b5-11f0-986f-92fbcf53809c.png

(圖三:滑窗累加指令數(shù)據(jù)排布示例)

如下圖所示,9個紅點對應(yīng)的9行輸入數(shù)據(jù)(1*k維)和權(quán)重進行乘累加計算,就得到了一個卷積值。在做卷積計算的時候,可以把矩陣乘法看成是滑動為零的滑窗指令。通過滑動0,1,2三條指令的計算,就可以完成kernel size 為3x1的的卷積計算。然后通過h維度的三次循環(huán),就可以得到kernel size 為3x3的卷積計算。

40f882e6-42b5-11f0-986f-92fbcf53809c.png

(圖四:滑窗累加指令結(jié)合矩陣累加指令計算卷積示例)

同樣通過滑動0,1,2,0,1五條指令的計算,和h維度五次循環(huán),就可以完成kernel size為5x5的卷積計算,以此類推,可以得到任意kernel size的卷積計算。

效果演示視頻


通過以上軟硬件協(xié)同優(yōu)化,我們在多任務(wù)推理時,也有非常高的性能。展望

前文提到,通過ONNX與ONNXRuntime的結(jié)合,我們能夠便捷地接入開源生態(tài),但這僅僅是實現(xiàn)接入的眾多方式之一。實際上,我們還可以充分利用當前備受矚目的MLIR生態(tài),進一步融入開源的廣闊天地。這種方式不僅充滿想象力,而且具備諸多優(yōu)勢。

首先,它能夠?qū)崿F(xiàn)模型的直接原生部署。舉例來說,當我們擁有一個PyTorch模型時,借助torch.compile功能,我們可以直接將模型部署到目標平臺上,無需繁瑣的轉(zhuǎn)換和適配過程,極大地提升了部署的便捷性。

其次,MLIR生態(tài)與LLVM的緊密結(jié)合為我們提供了強大的codegen能力。這意味著我們可以利用LLVM豐富的生態(tài)系統(tǒng)和工具鏈,進行代碼生成和優(yōu)化,從而進一步降低AI軟件棧的開發(fā)成本。通過codegen,我們可以將高級別的模型描述轉(zhuǎn)化為底層高效的機器代碼,實現(xiàn)性能的最優(yōu)化。

411d2c9a-42b5-11f0-986f-92fbcf53809c.png

(圖五:進迭時空AI軟件棧架構(gòu)規(guī)劃)

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

    關(guān)注

    88

    文章

    34765

    瀏覽量

    276914
  • RISC-V
    +關(guān)注

    關(guān)注

    46

    文章

    2525

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Banana Pi BPI-F3 進迭時空RISC-V架構(gòu)AI融合算及其軟件實踐

    面對未來大模型(LLM)、AIGC等智能化浪潮的挑戰(zhàn),進迭時空在RISC-V方向全面布局,通過精心設(shè)計的RISC-V DSA架構(gòu)以及軟硬一體的優(yōu)化策略,將全力為未來打造高效且易用的AI
    的頭像 發(fā)表于 09-07 14:01 ?1908次閱讀
    Banana Pi BPI-F3 進迭時空<b class='flag-5'>RISC-V</b><b class='flag-5'>架構(gòu)</b><b class='flag-5'>下</b>,<b class='flag-5'>AI</b><b class='flag-5'>融合算</b><b class='flag-5'>力</b><b class='flag-5'>及其</b><b class='flag-5'>軟件</b><b class='flag-5'>棧</b><b class='flag-5'>實踐</b>

    risc-v多核芯片在AI方面的應(yīng)用

    在極低的能耗實現(xiàn)高效的AI元器件的運行。這對于需要長時間運行和依賴電池供電的AI設(shè)備來說尤為重要。 其次,RISC-V的模塊化架構(gòu)允許其不
    發(fā)表于 04-28 09:20

    RISC-V,即將進入應(yīng)用的爆發(fā)期

    我們會迎來前所未見的AI軟件應(yīng)用,而RISC-V有望打造出下一代的AI引擎?!?達摩院院長張建鋒此前在3月2024玄鐵RISC-V生態(tài)大會表
    發(fā)表于 10-31 16:06

    關(guān)于RISC-V學(xué)習(xí)路線圖推薦

    架構(gòu)(ISA)、流水線、內(nèi)存層次結(jié)構(gòu)等。 編程語言 : 熟悉C/C++或Rust等編程語言,這些是RISC-V架構(gòu)常用的編程語言。C語言必須好好學(xué)習(xí),這是基礎(chǔ)哦。 二、
    發(fā)表于 11-30 15:21

    科普RISC-V生態(tài)架構(gòu)(認識RISC-V)

    RISC-V 生態(tài)架構(gòu)淺析前言RISC-V最近越來越多的出現(xiàn)在科技新聞中,大量的公司加入到RISC-V研究和生產(chǎn)中。在越來越多的RISC-V
    發(fā)表于 08-02 11:50

    RISC-V 生態(tài)架構(gòu)淺析

    RISC-V的神秘面紗,提前了解一RISC-V究竟是什么。什么是RISC-VRISC-V應(yīng)該泛指RISC-V指令集
    發(fā)表于 06-18 19:59

    RISC-V架構(gòu)簡介

    集(RISC)原則的開源指令集架構(gòu)(ISA)。與大多數(shù)指令集相比,RISC-V指令集可以自由地用于任何目的,允許任何人設(shè)計、制造和銷售RISC-V芯片和
    發(fā)表于 07-28 07:46

    阿里平頭哥宣布開源玄鐵RISC-V系列處理器

    10月19日,在2021云棲大會上,阿里云智能總裁張建鋒宣布,平頭哥開源玄鐵RISC-V系列處理器,并開放系列工具及系統(tǒng)軟件。這是系列處理器與基礎(chǔ)軟件的首次全開源,將推動
    發(fā)表于 10-20 14:09

    ?GPU,RISC-V的長痛

    具備與多種處理器架構(gòu)協(xié)同工作的潛質(zhì),其B系列更是可以達到最高6TFLOPS的算,對于視覺計算優(yōu)異但3D圖形處理仍然偏科的RISC-V來說,可以說是一個很好的輔助,尤其是對于圖形性能有一定要求的消費類
    發(fā)表于 03-24 15:53

    RISC-V架構(gòu)

    繼續(xù)完善。雖然RISC-V現(xiàn)在的討論熱度很高,但是整個生態(tài)實際仍在建設(shè)初期,實踐過程中在底層架構(gòu)上還存在bug需要解決。此外,RISC-V架構(gòu)
    發(fā)表于 04-03 15:29

    談一談RISC-V架構(gòu)的優(yōu)勢和特點

    人工智能、移動和工業(yè)應(yīng)用在內(nèi)的許多應(yīng)用定制芯片。隨著智能互聯(lián)的到來,RISC-V架構(gòu)迸發(fā)出新的活力,在IoT(物聯(lián)網(wǎng))、AI等領(lǐng)域探索出了廣闊的發(fā)展?jié)摿褪袌?,逐漸與x86、ARM形成了三足鼎立的局面
    發(fā)表于 05-14 09:05

    RISC-V,正在擺脫低端

    行業(yè)專家表示,RISC-V最有機會發(fā)的領(lǐng)域是AI和機器學(xué)習(xí),RISC-V架構(gòu)將從AI專用芯片切
    發(fā)表于 05-30 14:11

    阿里平頭哥發(fā)布首個 RISC-V AI 軟硬全平臺

    面向多媒體 AI 增強場景的 RISC-V軟硬件平臺。 該平臺將 RISC-V 擴展性的新型 Vector、Matrix 及第三方硬件進行算
    發(fā)表于 08-26 14:14

    RISC-V強勢崛起為芯片架構(gòu)第三極

    出貨量,顯示出這個新出現(xiàn)的處理器架構(gòu)旺盛生命。 平頭哥是國內(nèi)RISC-V產(chǎn)業(yè)鏈的重要玩家之一。在近日推出首個自研RISC-V AI平臺時,
    發(fā)表于 08-30 13:53

    RISC-VRISC-V AI的未來(特邀講座)

    主題演講:RISC-VRISC-V AI的未來(特邀講座)ppt分享
    發(fā)表于 07-14 17:15 ?17次下載