亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內不再提示

基于Vulkan的端側AI運算

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 2025-09-10 17:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【拆·應用】是為開源鴻蒙應用開發(fā)者打造的技術分享平臺,是匯聚開發(fā)者的技術洞見與實踐經(jīng)驗、提供開發(fā)心得與創(chuàng)新成果的展示窗口。誠邀您踴躍發(fā)聲,期待您的真知灼見與技術火花!

引言

本期內容由AI Model SIG提供,介紹了在開源鴻蒙中,利用圖形接口Vulkan的計算著色器能力,在端側部署大模型的的整體思路和實踐分享。

開源鴻蒙是由開放原子開源基金會孵化及運營的開源項目,目標是面向全場景、全連接、全智能時代,搭建一個智能終端設備操作系統(tǒng)的框架和平臺,促進萬物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。在人工智能時代下,與其它成熟的操作系統(tǒng)相比,開源鴻蒙部署AI LLM模型的能力欠缺。為了補齊開源鴻蒙在端側部署大模型的能力,筆者將分享如何在端側打通大模型部署的整體思路和實踐。

軟硬件選型

在硬件上選取國產(chǎn)CPU飛騰D2000,顯卡選用AMD GPU。目前能夠在OpenHarmony5.0.0 Release上點亮AMD GPU,包括RX 550、RX 580和RX 7900 XTX。

其次是推理框架的選擇,筆者選取了llama.cpp這個開源的推理框架,倉庫地址為:github.com/ggml-org/llama.cpp。目前很火的ollama,其也是選用了llama.cpp作為推理后端。llama.cpp是一個專注于在邊緣設備、個人PC上進行l(wèi)lm部署的高性能推理框架。其相比于vllm等主流llm推理框架來說,有以下明顯的優(yōu)點:

C++/C 實現(xiàn),在Windows、mac、Linux等多種系統(tǒng)下編譯都非常簡單。

豐富的后端支持:如圖所示,支持x86、arm、Nidia_GPU、AMD_GPU、Vulkan甚至華為昇騰NPU_CANN。

支持CPU AVX指令集進行矢量計算加速、CPU多核并行計算、CPU+GPU混合計算

支持低精度量化:1.5bit、2 bit、3 bit、4 bit、5 bit、6 bit和 8 bit整數(shù)量化,可加快推理速度并減少內存使用。

9908031a-8e25-11f0-8c8f-92fbcf53809c.png

llama.cpp支持的后端及其硬件

在上圖中,llama.cpp支持Vulkan后端。筆者通過查閱相關資料和閱讀llama.cpp關于Vulkan的相關代碼,發(fā)現(xiàn)其是利用圖形接口Vulkan的計算著色器(Compute Shader)的能力來運行大模型的。計算著色器(Compute Shader) 是GPU上用于通用計算(GPGPU) 的特殊程序,與傳統(tǒng)圖形渲染管線解耦,可直接操作GPU并行處理非圖形任務(如AI推理、物理模擬、數(shù)據(jù)處理)等。下表是計算著色器的特點:

9964e800-8e25-11f0-8c8f-92fbcf53809c.jpg

綜合多因素的考量,在軟硬件上最終選用飛騰D2000 + AMD GPU + OpenHarmony 5.0.0 Release的組合,利用圖形接口Vulkan的計算著色器能力,在終端設備上高效運行大模型。

在開源鴻蒙部署大模型的難點

在第一部分提到將利用圖形接口Vulkan的計算著色器的能力,在端側高效運行大模型。在開源鴻蒙社區(qū)有個Vulkan的demo樣例,倉庫地址為:https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Native/NdkVulkan,通過筆者的實踐,目前在HarmonyOS能跑通該樣例,但是在開源鴻蒙上尚不能跑通該樣例。通過閱讀該例子的文檔說明,如下圖,發(fā)現(xiàn)核心原因是缺少AMD GPU的Vulkan用戶態(tài)驅動庫libvulkan_radeon.so以及Vulkan的sdk。因此核心難點是要能將Vulkan的計算著色器在開源鴻蒙上正常跑起來。

99bdfe86-8e25-11f0-8c8f-92fbcf53809c.jpg

NdkVulkan例子

整體思路

為了能夠利用圖形接口Vulkan的計算著色器的能力跑大模型。筆者總結了以下四個的關鍵步驟:

在開源鴻蒙上正常點亮AMD GPU。

交叉編譯出AMD的Vulkan用戶態(tài)驅動。

交叉編譯出Vulkan sdk。

移植llama.cpp到OpenHarmony上。

實踐要點

點亮AMDGPU

1.確保AMD GPU 內核態(tài)是正常的選用的內核版本為linux 6.6.22,需要將內核的以下選項打開。

9a160d06-8e25-11f0-8c8f-92fbcf53809c.jpg

系統(tǒng)正常啟動后,采用modetest工具進行測試,在測試前需要關閉render_service、composer_host和allocator_host這三個進程,具體的命令如下:

9a717808-8e25-11f0-8c8f-92fbcf53809c.jpg

在hdc shell中運行以下命令:

9acb9bf8-8e25-11f0-8c8f-92fbcf53809c.jpg

如果能夠在顯示屏上看到彩色的條紋,如下圖,說明AMD GPU的內核態(tài)是正常的。

modetest測試結果

2.確保AMD GPU的用戶態(tài)是正常的

首先通過mesa3d交叉編譯出AMD GPU的用戶態(tài)驅動,主要為libEGL.so.1.0.0、libgallium_dri.so、libgbm.so.1.0.0、libglapi.so.0.0.0、libGLESv1_CM.so.1.1.0和libGLESv2.so.2.0.0這個5個動態(tài)庫。

9b877fa8-8e25-11f0-8c8f-92fbcf53809c.png

大家可以參考laval社區(qū)的《開源鴻蒙開源GPU庫Mesa3D適配說明》這篇文章,了解GPU的適配過程,鏈接地址為:https://laval.csdn.net/64804567ade290484cb2ed06.html

這篇文章主要講的是mali gpu的mesa3d點亮過程。由于跑Vulkan的計算著色器可以不用到顯示的功能,因此在這里具體的適配過程就不展開,感興趣的讀者可在AI Model SIG的ohos_vulkan倉庫獲取相關的AMD GPU 的mesa用戶態(tài)驅動的庫,倉庫地址為:https://gitcode.com/ai_model_sig/ohos_vulkan 成功適配后,可以在顯示屏正??吹介_源鴻蒙的桌面。

Vulkan用戶態(tài)驅動

這一步的核心是能夠獲得libvulkan_radeon.so這個動態(tài)庫。在mesa3d中有Vulkan用戶態(tài)驅動的實現(xiàn),因此通過編譯mesa3d這個開源項目編譯出libvulkan_radeon.so這個Vulkan用戶態(tài)驅動庫。

在build_ohos.py文件中需要指定 -Dgallium-drivers=amd 和 -Dvulkan-drivers=amd這兩個參數(shù),如下圖:

9be9db1c-8e25-11f0-8c8f-92fbcf53809c.jpg

通過以下指令:

9c425b16-8e25-11f0-8c8f-92fbcf53809c.png

便可以編譯出libvulkan_radeon.so這個動態(tài)庫,如下圖所示

9ca14ce8-8e25-11f0-8c8f-92fbcf53809c.jpg

Vulkan sdk

Vulkan sdk的構成主要包含以下11個項目:

https://github.com/KhronosGroup/glslang.git

https://github.com/KhronosGroup/SPIRV-Headers.git

https://github.com/KhronosGroup/SPIRV-Tools.git

https://github.com/zeux/volk.git

https://github.com/KhronosGroup/Vulkan-ExtensionLayer.git

https://github.com/KhronosGroup/Vulkan-Headers.git

https://github.com/KhronosGroup/Vulkan-Loader.git

https://github.com/KhronosGroup/Vulkan-Tools.git

https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git

https://github.com/KhronosGroup/Vulkan-ValidationLayers.git

在這里需要通過交叉編譯的方式獲得aarch64版本的產(chǎn)物,如下圖所示。

9cf958ca-8e25-11f0-8c8f-92fbcf53809c.png

Vulkan sdk的編譯比較復雜,這里不進行展開,讀者可以通過這個鏈接下載:

https://gitcode.com/ai_model_sig/ohos_vulkan/pull/1

下面介紹一下如何將Vulkan sdk部署在開源鴻蒙上:

9d5594aa-8e25-11f0-8c8f-92fbcf53809c.jpg

通過運行vulkaninfo可以獲取vulkan的相關信息,也能獲取我們所用GPU的型號。

9db1ba1e-8e25-11f0-8c8f-92fbcf53809c.jpg

9e0c07bc-8e25-11f0-8c8f-92fbcf53809c.png

目前我們能將Vulkan在開源鴻蒙上正式跑起來了,接下來需要寫一個簡單的例子來驗證Vulkan的計算著色器是否正常。筆者提供了一個簡單的利用計算著色器來進行矩陣并行計算,大家可以通過laval社區(qū)的這篇文章詳細了解一下,文章鏈接:

https://laval.csdn.net/685bdb3d965a29319f2773cb.html

該例子的核心就是矩陣A和矩陣B相乘的到矩陣C,矩陣C的每個元素需要做256次乘法和255次加法。

9e673de4-8e25-11f0-8c8f-92fbcf53809c.png

下面是例子的具體內容:

整體流程:初始化Vulkan → 創(chuàng)建矩陣緩沖區(qū) → 構建計算管線 → 提交計算任務 → 同步獲取結果 → 驗證輸出 → 資源釋放;

編寫計算著色器,如下圖;

并行策略:每個線程計算輸出矩陣的一個元素;

工作組配置:每個工作組包含16x16=256個并行線程;

執(zhí)行粒度:與主程序中的vkCmdDispatch(MATRIX_SIZE/16, MATRIX_SIZE/16, 1)配合,共調度 (256/16)^2 = 256個工作組覆蓋整個矩陣;

線程總數(shù):256 * 256 = 65536 個并行線程。

9ec2a2ec-8e25-11f0-8c8f-92fbcf53809c.jpg

計算著色器

假設矩陣A的元素全為1,矩陣B的元素全為2,那么矩陣C的計算結果應該全為512。如下圖可見矩陣C的計算結果正確,總耗時大概在5毫秒左右。通過對比矩陣C的結果和耗時,初步可以確認Vulkan的計算著色器能在開源鴻蒙上正常運行。

9f1d19f2-8e25-11f0-8c8f-92fbcf53809c.jpg

矩陣C的計算結果

推理框架 llama.cpp

利用前一步得到的Vulkan sdk,接下來需要交叉編譯出llama.cpp。下面是交叉編譯的命令。

9f77f49e-8e25-11f0-8c8f-92fbcf53809c.jpg

最終我們將編譯的產(chǎn)物拷貝至開源鴻蒙設備上,然后運行??梢钥吹絣lama.cpp能夠正確識別我們的AMD GPU并將模型的權重加載至顯卡上。

9fd6d6b2-8e25-11f0-8c8f-92fbcf53809c.jpg

a02fa544-8e25-11f0-8c8f-92fbcf53809c.jpg

總結

本文主要分享了如何在端側打通大模型部署的整體思路和實踐,從而補齊開源鴻蒙在端側部署大模型的能力。目前能夠利用圖形接口Vulkan的計算著色器的能力,能夠在端側的AMD的消費級顯卡AMD 7900XTX上部署類似DeepSeek 32B這類的大模型,從而打造了AI能力的算力底座,為AI應用提供支撐。

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

    關注

    68

    文章

    11193

    瀏覽量

    221933
  • AI
    AI
    +關注

    關注

    88

    文章

    37271

    瀏覽量

    292220
  • 開源
    +關注

    關注

    3

    文章

    3896

    瀏覽量

    45373
  • 大模型
    +關注

    關注

    2

    文章

    3373

    瀏覽量

    4829

原文標題:拆·應用丨第6期:基于Vulkan的端側AI運算

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AI,風起移動智能計算

    新一代驍龍旗艦芯片,AI的繁榮肇始
    的頭像 發(fā)表于 11-22 09:55 ?3426次閱讀
    <b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>,風起移動智能計算

    AI浪潮已來!炬芯科技發(fā)布新一代AI音頻芯片,能效比和AI算力大幅度提升

    電子發(fā)燒友原創(chuàng) 章鷹 ? 11月5日,在深圳會展中心7號館內,炬芯科技董事長兼CEO周正宇博士帶來了《AI芯片的未來》演講,他對
    的頭像 發(fā)表于 11-06 09:11 ?4728次閱讀
    <b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>浪潮已來!炬芯科技發(fā)布新一代<b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>音頻芯片,能效比和<b class='flag-5'>AI</b>算力大幅度提升

    首創(chuàng)開源架構,天璣AI開發(fā)套件讓AI模型接入得心應手

    、內存帶寬占用量大幅度降低50%,讓AI推理更聰明、響應更迅速。 天璣AI開發(fā)套件2.0還首次引入基于NPU的
    發(fā)表于 04-13 19:52

    億智電子攜手合作伙伴推動AI產(chǎn)業(yè)的快速發(fā)展

    全球化IoT開發(fā)平臺服務商「涂鴉智能」、智能駕駛和AI算法企業(yè)「中天安馳」與AI芯片先鋒
    的頭像 發(fā)表于 01-13 19:03 ?2468次閱讀

    榮耀引領AI新時代

    在今年的MWC盛會上,榮耀宣布與高通、Meta攜手,將70億參數(shù)大模型引入,這一創(chuàng)新舉措預示著AI新時代的到來。榮耀終端CEO趙明在
    的頭像 發(fā)表于 03-01 10:28 ?1097次閱讀

    廣和通AI解決方案驅動性能密集型場景商用型場景商用

    2024世界機器人大會期間,廣和通宣布:基于高通QCS8550平臺的廣和通AI解決方案高效使能性能密集型場景。該
    的頭像 發(fā)表于 08-23 16:05 ?1146次閱讀
    廣和通<b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>解決方案驅動性能密集型場景商用型場景商用

    把握關鍵節(jié)點,美格智能持續(xù)推動AI規(guī)模化拓展

    當前,AI大模型走向已經(jīng)是大勢所趨,AI的發(fā)展將推動人工智能成為影響世界的第四次工業(yè)革命
    的頭像 發(fā)表于 11-25 16:45 ?998次閱讀
    把握關鍵節(jié)點,美格智能持續(xù)推動<b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>規(guī)模化拓展

    把握關鍵節(jié)點,美格智能持續(xù)推動AI規(guī)模化拓展

    當前,AI大模型走向已經(jīng)是大勢所趨,AI的發(fā)展將推動人工智能成為影響世界的第四次工業(yè)革命
    的頭像 發(fā)表于 11-26 01:00 ?721次閱讀
    把握關鍵節(jié)點,美格智能持續(xù)推動<b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>規(guī)?;卣? />    </a>
</div>                              <div   id=

    廣和通開啟AI新時代

    AI發(fā)展正酣,隨著終端芯片算力越來越高、模型能力越來越強、實時響應及隱私保護的應用需求增加,
    的頭像 發(fā)表于 12-12 10:35 ?1148次閱讀

    中信建投建議關注AI模組機會

    中信建投近日發(fā)布的研報指出,隨著OpenAI的ChatGPT功能全面接入蘋果設備,包括iPhone、iPad和Mac,AI產(chǎn)業(yè)的發(fā)展正在加速。這一趨勢為AI模組市場帶來了新的機遇。
    的頭像 發(fā)表于 12-17 14:05 ?846次閱讀

    廣和通Fibocom AI Stack:加速AI部署新紀元

    近日,廣和通正式推出了Fibocom AI Stack,這一創(chuàng)新解決方案旨在賦能千行百業(yè)的應用,推動AI技術的廣泛商用。 Fibocom AI
    的頭像 發(fā)表于 01-13 11:32 ?1351次閱讀

    AI大模型側部署正當時:移遠端AI大模型解決方案,激活場景智能新范式

    AI技術飛速發(fā)展的當下,AI大模型的應用正從云端向加速滲透。作為全球領先的物聯(lián)網(wǎng)整體解決方案供應商,移遠通信憑借深厚的技術積累與前瞻性的戰(zhàn)略布局,在
    的頭像 發(fā)表于 03-26 19:05 ?794次閱讀
    <b class='flag-5'>AI</b>大模型<b class='flag-5'>端</b>側部署正當時:移遠端<b class='flag-5'>側</b><b class='flag-5'>AI</b>大模型解決方案,激活場景智能新范式

    AI大模型側部署正當時:移遠端AI大模型解決方案,激活場景智能新范式

    AI技術飛速發(fā)展的當下,AI大模型的應用正從云端向加速滲透。 作為全球領先的物聯(lián)網(wǎng)整體解決方案供應商,移遠通信憑借深厚的技術積累與前瞻性的戰(zhàn)略布局,在
    發(fā)表于 03-27 11:26 ?369次閱讀
    <b class='flag-5'>AI</b>大模型<b class='flag-5'>端</b>側部署正當時:移遠端<b class='flag-5'>側</b><b class='flag-5'>AI</b>大模型解決方案,激活場景智能新范式

    炬芯科技探索AI技術與應用

    隨著人工智能技術的迅猛發(fā)展,AI應用正從云端向終端迅速擴張。AI的核心在于讓智能設備在本地完成數(shù)據(jù)處理和推理決策,并且可以在較低能耗情況下的持續(xù)工作,從而減少對云端的依賴,提升交互
    的頭像 發(fā)表于 03-27 14:58 ?811次閱讀

    AI推理賦能效率革命,美格智能多領域落地打造行業(yè)范本

    產(chǎn)業(yè)進階:AI推理助手成為應用剛需作為人工智能技術最普遍的產(chǎn)品形式之一,“AI助手”已成為各類軟件、終端的重要組成部分,成為AIAgent的主要外在呈現(xiàn)和功能入口。隨著
    的頭像 發(fā)表于 08-25 17:06 ?3186次閱讀
    <b class='flag-5'>端</b><b class='flag-5'>側</b><b class='flag-5'>AI</b>推理賦能效率革命,美格智能多領域落地打造行業(yè)范本