【ATU Book-MemryX 系列】手把手教你玩 AI - 香澄派 Orange PI 5 Plus (Rockchip RK3588) 結合 MemryX MX3 晶片 輕鬆上手人工智慧 - C / C++ 篇

關鍵字 :MemryXNPUAI加速卡20TOPSM.2 PCIe Gen3YOLO

一、概述

 

在當前科技迅速發展的環境中,人工智慧(AI)技術日益普及,邊緣運算(Edge Computing)也隨之成為 AI 應用的核心支柱。傳統雲端運算雖然具備強大的集中處理能力,但在大量數據傳輸和即時回應的需求下,延遲與頻寬的瓶頸逐漸顯現。因此,邊緣運算的概念應運而生,透過將部分運算分配到數據生成端的應用,不僅顯著降低延遲,還有效減輕網路負擔。提升了應用的即時性與隱私性。

 

在這波邊緣計算浪潮中,MemryX 加速卡以其卓越的浮點運算能力 (BF16) 及全面的軟體服務,成為 AI 邊緣運算中獨樹一幟的存在。過去傳統的邊緣計算多集中於整數運算,但在實際應用中,仍有某些任務需要高度精確度,因此浮點運算的智能晶片將成為物體檢測、影像識別和自然語言處理等邊緣應用的理想選擇。MemryX 在 2024 年提出了一套新的加速卡解決方案,能夠在低功耗(5 TFLOPS/W)的情況下提供卓越的 AI 計算性能(20 TFLOPS)。,逐漸成為邊緣智能應用的關鍵推動者。

 

除了硬體效能,MemryX 還提供豐富的軟體服務是一大亮點。其軟體支援包括各模組評估、API 介面、驅動程式和多種開發工具,方便開發者快速整合並靈活調整 AI 運算需求。MemryX 的軟體支援涵蓋了從 MX3+ 晶片模擬效能(Simulator)、權重精度調整(Weight Precision)、模型裁剪(Model Cropping)工具以及...模型庫資源,能夠幫助 MX3+ 運行性能達到最佳狀態。

 

未來,MemryX 不僅在現有系統升級中扮演重要角色,還將成為邊緣運算與 AI 深度整合的核心引擎。其強大的浮點運算能力與全面的軟體服務,為用戶提供即插即用的 AI 解決方案,開創邊緣智慧新時代。

 

本章節將向使用者介紹如何安裝 MemryX 以及C / C++ 的範例程式應用

 

二、快速搭建 MemryX

 

硬體架構

將 MemryX MX3+ 2280 尺寸模組連接到 Orange Pi 的 M.2 插槽,並安裝散熱片、螢幕、攝影機(USB Camera)、滑鼠、鍵盤和網路線。

 

 

(2) 下載 Orange Pi 5 Plus 預建映像檔 (Ubuntu)

請至官方網站下載預建映像檔

 

 

下載 Orangepi5plus_1.0.8_ubuntu_focal_desktop_xfce_linux5.10.160.7z 並將其解壓縮

 

 

Ubuntu 適用版本:18.04 (Bionic Beaver)、20.04 (Focal Fossa)、22.04 (Jammy Jellyfish)
Linux 核心版本:5.10.x ~ 6.1.x
 

將 Ubuntu 系統燒錄至 SD 卡

請將 SD 卡(建議準備 16GB 以上的容量)插入到 PC 端,並使用 Rufus 進行燒錄。

 

 

(4) 進入 Ubuntu 系統並連接網路

燒錄完成後,請將 SD 卡放入 Orange Pi 5 Plus。即可接上電源進入系統,並連接上網路。

 

 

(5) 安裝 kernel-header 標頭檔案

$ sudo apt install linux-headers-$(uname -r)

 

安裝 MemryX SDK 套件 (C/C++)

▲ 添加 GPG 金鑰

$ wget -qO- https://developer.memryx.com/deb/memryx.asc | sudo tee /etc/apt/trusted.gpg.d/memryx.asc >/dev/null

▲ 將軟體新增至 APT 清單

$ echo 'deb https://developer.memryx.com/deb stable main' | sudo tee /etc/apt/sources.list.d/memryx.list >/dev/null

▲ 安裝 MemryX MX3+ NPU 驅動程式

$ sudo apt update

$ sudo apt install memx-drivers

▲ 安裝 MemryX MX3+ 執行時 (C/C++)

$ sudo apt install memx-accl

▲ 安裝 MemryX MX3+ 套件

$ sudo apt install memx-accl-plugins

$ sudo apt install memx-utils-gui

$ sudo apt install qtbase5-dev qt5-qmake

$ sudo apt install cmake

$ sudo apt install libopencv-dev

$ sudo apt install libssl-dev

▲ 優化硬體設定

原廠目前提供 Raspberry Pi 5、Orange Pi 5 Plus、Radxa Rock 5B EVK 進行設定。若為 Intel (x86) 則可略過此步驟。

$ sudo mx_arm_setup

 

 

▲ 驗證環境

請將系統重新啟動後,以下列指令確認是否安裝成功

$ apt policy memx-drivers

 

三、DEMO 實作展示 (C/C++)

 

請前往官網連結到 Tutorials 進行 DEMO 教學示範,並請連接一台 USB 攝影機進行展示。

 

深度估算

深度估計(Depth Estimation)展示了利用彩色影像圖片來生成具有距離意義的深度圖。

下載並解壓縮depthEstimation.zip

$ unzip depthEstimation.zip

修改權限

$ sudo chmod -R 777 depthEstimation/

編譯

$ cd depthEstimation

$ mkdir build && cd build

$ cmake ..

$ make -j4

● 運行

$ ./depthEstimation –cam /dev/video0

每秒執行約 29.81 幀,CPU 使用率約 200%,記憶體使用率約 0.1%(0.016 GB)

 

 

(2) 目標檢測 (CenterNet)

物體偵測(Object Detection)- CenterNet 是經典的目標偵測演算法,於 2019 年提出。PDF]

下載並解壓縮centernet_sample.zip

$ unzip centernet_sample.zip

修改權限

$ sudo chmod -R 777 CenterNet/

編譯

$ cd centernet_sample/CenterNet

$ mkdir build && cd build

$ cmake ..

$ make -j4

● 運行

$ ./CenterNet

每秒運行約 23.6 幀,CPU 使用率約 493.4%,記憶體使用率約 4.4%(0.7 GB)

 

圖片來源:https://www.pexels.com/zh-tw/

 

(3) 姿態估計 (YOLOv8)

肢體估計(Pose Estimation)- YOLOv8 是目前最熱門的 DNN 演算法,於 2023 年提出Ultralytics被設計用於計算人體肢體的節點位置與相關性。

下載並解壓縮 poseEstimation_sample.zip

$ unzip poseEstimation_sample.zip

修改權限

$ sudo chmod -R 777 poseEstimation/

編譯

$ cd poseEstimation

$ mkdir build && cd build

$ cmake ..

$ make -j4

● 運行

$ ./poseEstimation --cam /dev/video0

每秒執行約 22.4 幀,CPU 使用率約 155.4%,記憶體使用率約 1.6%(0.25 GB)

 

 

(4) 目標檢測 (YOLOv7t)

物體偵測(Object Detection)- YOLOv7 Tiny 是目前最熱門的 DNN 演算法,於 2022 年提出。 [PDF 被設計用於計算各種物體的位置與相關性。

下載並解壓縮 物件偵測範例.zip

$ unzip objectDetection_sample.zip

修改權限

$ sudo chmod -R 777 objectDetection/

編譯

$ cd objectDetection/

$ mkdir build && cd build

$ cmake ..

$ make -j4

● 運行

$ ./objectDetection

每秒運行約 45.5 幀,CPU 使用率約為 445%,記憶體使用率約為 2.9%(0.46 GB)

 

圖片來源:https://www.pexels.com/zh-tw/

 

(5) 目標檢測 (YOLOv8s)

物體偵測(Object Detection)- YOLOv8 是目前最熱門的 DNN 演算法,於 2023 年提出Ultralytics被設計用於計算各種物體的位置與相關性。

下載並解壓縮objectDetection_sample.zip

$ unzip objectDetection_sample.zip

修改權限

$ sudo chmod -R 777 yolov8_objectDetection

編譯

$ cd yolov8_objectDetection/

$ mkdir build && cd build

$ cmake ..

$ make -j4

● 運行

$ ./yolov8_objectDetection

每秒運行約 42.8 幀,CPU 使用率約 225%,記憶體使用率約 4.2%(0.67 GB)

 

圖片來源:https://www.pexels.com/zh-tw/

 

 

(6) 多流目標檢測 (Multi-Stream Object Detection)

使用目前最熱門的 YOLOv8 DNN 演算法進行多路影像流(Multi-Stream Object Detection)展示。

下載並解壓縮MX_DEMOS_20241029.tgz

若想獲取此 DEMO,請聯繫 MemryX 或 WPI 窗口。

$ tar zxvf MX_DEMOS_20241029.tgz

修改權限

$ sudo chmod -R 777 MX_DEMOS/

編譯

$ cd MX_DEMOS/

$ mkdir build && cd build

$ cmake ..

$ make -j4

● 運行

$ ./demoVMS

每秒運行約 28.4 幀,CPU 使用率約 615.5%,記憶體使用率約 20.0%(3.2 GB)

 

 

四、結語

 

MemryX MX3+ AI 加速卡提供高效能、低功耗且靈活的 AI 邊緣運算解決方案特別適用於物體偵測、視覺分析以及即時監控等應用場景。透過浮點數運算 (BF16) 及內建 10.5 MB SRAM 記憶體,能夠在不占用主系統記憶體資源的前提下,確保運算精度,並提升 AI 模型的效能與擴展性。

 

在 C/C++ DEMO 測試中,單顆攝影機的物體檢測僅需占用約一顆 CPU 處理影片,而系統記憶體使用量僅為 1.6%,顯示出 MemryX 晶片的高效運算與極低資源占用特性。如果研究深入一些,MemryX 提供強大的開發工具,開發者可以靈活切割 AI 模組的前後處理,甚至能將影像前處理交由 ISP(影像訊號處理器)或 DSP(數位訊號處理器)處理,從而進一步優化運算效率。

 

MemryX MX3+ 的核心優勢

● 高幀率運算:單張低功耗 M.2 卡可同時處理10路攝影機流,支援多AI模型並行運行。

● 高精度與自動編譯:一鍵完成 BF16 浮點模型編譯,確保 AI 準確度,無需額外調整或重新訓練。

● 原始模型保持完整:無需修改 AI 模型即可直接部署,並可選擇模型剪枝與壓縮來優化設計。

● 自動化前/後處理:自動識別並整合前後處理程式碼,減少開發與除錯時間,提升部署效率。

● 優異的擴展性:可單晶片運行,也可16晶片組合為邏輯單元,無需額外的PCIe交換器。

● 低功耗設計:單顆 MX3 晶片僅消耗 0.5W ~ 2.0W,4 晶片模組的功耗低於主流 GPU 的 1/10。

● 廣泛的硬體與軟體支援:相容 x86、ARM、RISC-V 平台及多種作業系統,開發靈活性極高。

 

隨著人工智慧在零售、汽車、工業、農業和機器人等行業中的廣泛應用,MemryX 正站在邊緣運算技術的前沿,為客戶提供卓越的效能和更高的價值。在未來,MemryX 將繼續推動技術創新,成為AI邊緣運算領域中不可或缺的合作夥伴透過上述原廠提供的工具與範例,AI 不再是遙不可及的夢想,只需一步步按照範例步驟操作,就可以快速實現任何智慧應用。若想試用或購買 MemryX 產品的新夥伴,請直接聯繫伊布小編!謝謝

 

五、參考文件

 

[1]MemryX 官方網站

[2]MemryX 開發者中心技術網站

[3]EE Awards 2022 亞洲金選獎

[4]MemryX - LinkedIn 官方帳號

[5]MemryX 範例

[6]美通社 - MemryX宣布MX3邊緣AI加速器正式投產

 

如有任何相關MemryX技術問題,歡迎在文章底下留言提問!!

接下來還會分享更多MemryX的技術文章 !!敬請期待【ATU Book-MemryX系列】!!

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

:

評論