過去幾周,我對高性能 ARM 開發(fā)板的追求進(jìn)展有些不順,但經(jīng)過近三個月的測試,以下是我對Banana Pi BPI-M7的筆記。
這是一個早就該發(fā)布的帖子,由于多種原因而被推遲了,但簡而言之,我認(rèn)為這是RK3588迄今為止我測試過的最好、最緊湊的主板。
免責(zé)聲明: Banana Pi 向我發(fā)送了一個評測單元(對此我表示感謝),本文遵循我的評測政策。此后,我購買了官方外殼(尚未到達(dá),但到貨后我會更新帖子),并提供了自己的 NVMe 驅(qū)動器進(jìn)行測試。
第一印象
如果您曾經(jīng)使用過任何近期的RK3588主板,那么M7會讓您覺得它很密集 - 這是因為它僅比Raspberry Pi稍大一點,并且 PCB 的兩側(cè)都相當(dāng)擁擠:
請注意底部強(qiáng)大的 LAN 驅(qū)動器,以及 BPI-M7 設(shè)法在邊緣處封裝的連接器數(shù)量。
使用低調(diào)的連接器(并且,面對現(xiàn)實,連接器更少,因為它只有一個 HDMI 輸出)使其比Orange Pi 5+更緊湊,同時仍然能夠在下面安裝全尺寸 NVMe,這增加了密度感。
我的絲網(wǎng)印刷掩模版上寫著“Bpi v1.1”,但主板裝在標(biāo)有“ArmSoM Sige7”的盒子里,因為ArmSoM是 Banana Pi 的合作公司。
與我最近看過的大多數(shù) Rockchip SBC 一樣,M7遵循非常熟悉的模式:
它是全功能的RK3588(4xA76/2.4GHz 內(nèi)核和 4xA55/1.8GHz 內(nèi)核,外加 Mali-G610 GPU 和 NPU)
底部 M.2 2280 PCIe 3.0x4 NVMe 插槽(利用 3588 提供的 PCIe 3.0 通道)
通過 USB-C 連接 HDMI 2.1 和 DisplayPort 1.4 (8K30)(遺憾的是無法供電,但它有一個單獨的 USB-C PD 端口,非常好)
通常的一組GPIO引腳,加上多個攝像頭DSI和CSI顯示器連接器)
我的樣品配備 16GB RAM 和 128GB ,并且在大部分測試中eMMC我使用了1TB Corsair NVMe 。
冷卻和電源
與往常一樣,主板沒有配備冷卻解決方案(附加的金屬外殼似乎有一個內(nèi)部凸起用于散熱,但我的還沒有到貨),所以我使用了我的商標(biāo)銅塊:
M7 剛從我的測試臺上取下,帶有串行控制臺適配器和 Wi-Fi 尾纖(不包括在內(nèi))。
與之前的主板一樣,M7使用100W 桌面 USB-C PD 充電器供電時空閑溫度約為 40攝氏度,常規(guī)使用(瀏覽或中等至輕度桌面負(fù)載)時平均功耗為 2-3W,空閑時功耗為 1W 或更低 - 也與其他主板一致。
事實上,我花了一點功夫才讓它的功耗超過 6W,只有在運行ollama或進(jìn)行 WebGL 基準(zhǔn)測試時它的功耗才會超過 10W。
我對M7非常感興趣的原因之一是,它是極少數(shù)支持 Armbian Platinum 的主板之一,因此我測試了它的兩個版本:
Armbian Jammy(帶有 GNOME 桌面和驅(qū)動程序的UbuntuGPU 22.04 )
Armbian Bookworm(帶有 CLI 界面的Debian 12,我使用它作為運行Proxmox的基礎(chǔ))。
為了新穎性(和更主流的體驗),我也嘗試了Ubuntu Rockchip 24.02(一個試圖為 Rockchip 設(shè)備提供更新的 Ubuntu 映像的新發(fā)行版),但我所有的基準(zhǔn)測試都是在Armbian Bookworm 中完成的(稍后會詳細(xì)介紹)。
更新:在我進(jìn)行測試后的幾周內(nèi),Armbian發(fā)布了新版本的Ubuntu Noble,據(jù)說它有更好的MESA支持VPU。我還沒有時間測試它,但我會在測試后更新這篇文章。
這兩款產(chǎn)品都搭載了內(nèi)核 6.1.43,與所有仍搭載 5.x 內(nèi)核的 SBC 相比,差距不大。
總體而言,Armbian體驗非常好,但RK3588GPU 驅(qū)動程序存在一些常見問題(仍然有點不穩(wěn)定,但在使用中很明顯)。我毫不費力地啟動并運行了一個可用的 GNOME 桌面,M7反應(yīng)非常靈敏。
從服務(wù)器的角度來看,將 Bookworm 安裝升級到Proxmox很順利,并且我能夠毫無問題地將其加入到我的集群中。
基準(zhǔn)測試
到目前為止,我已經(jīng)測試了相當(dāng)多的RK3588主板,我不得不說沒有任何意外——在運行 Armbian Bookworm 時,M7 的得分與 Orange Pi 5 和 YeeYooToo 的得分相差 5% 以內(nèi),NVMe 吞吐量的得分幾乎完全相同(因為,嗯,我實際上使用了相同的驅(qū)動器):
NVME 性能
我決定跳過對內(nèi)部 EMMC 的基準(zhǔn)測試,因為我正在從 NVMe 驅(qū)動器啟動和運行操作系統(tǒng),甚至沒有文件系統(tǒng)。
像往常一樣,我使用了fio:
# fio --filename=//file --size=5GB --direct=1 --rw=randrw --bs=64k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=4 --time_based --group_reporting --name=random-read-write --eta-newline=1
...結(jié)果相當(dāng)不錯,M7在吞吐量方面略勝于Orange Pi 5+ ,但差距并不大:
機(jī)器 | IOPS(64K隨機(jī)讀取) | IOPS(64K隨機(jī)寫入) |
香蕉派 M7 (NVME SSD) | 13460 | 13326 |
英特爾 N5105 (SATA 固態(tài)硬盤) | 2741 | 2743 |
英特爾 i7-12700 (NVMe SSD) | 42926 | 42908 |
英特爾 i7-6700(SATA 固態(tài)硬盤 1) | 2280 | 2280 |
英特爾 i7-6700(SATA 固態(tài)硬盤 2) | 2328 | 2329 |
Orange Pi 5+ (NVMe SSD) | 13372 | 13371 |
樹莓派 4 (USB 3.0 SSD) | 2001 | 2003 |
優(yōu)易通 R1 (NVME SSD) | 4670 | 4677 |
OLLAMA CPU 性能
然后我繼續(xù)進(jìn)行ollama,在 CPU 模式下測量tinyllama和的令牌生成dolphin-phi(這是我在之前的測試中使用的模型):
for run in {1..10}; do echo "Why is the sky blue?" | ollama run tinyllama --verbose 2>&1 >/dev/null | grep "eval rate:"; done
得出了以下結(jié)果:
機(jī)器 | 模型 | 評估令牌/秒 |
香蕉派 M7 | 海豚 | 4.25 |
蒂尼拉馬 | 10.3 | |
英特爾 i7-6700 | 海豚 | 7.57 |
蒂尼拉馬 | 16.61 | |
香橙派 5+ | 海豚 | 4.65 |
蒂尼拉馬 | 11.3 | |
樹莓派 4 | 海豚 | 1.51 |
蒂尼拉馬 | 3.77 | |
優(yōu)易圖 R1 | 海豚 | 3.9 |
蒂尼拉馬 | 10.5 |
令我最初感到驚訝的是,M7比Orange Pi 5+稍慢一些,我花了一段時間才弄明白原因——我懷疑這與熱節(jié)流有關(guān),因為 M7在這些測試中變得非常熱(當(dāng)溫度超過 80攝氏度時,時鐘速度就會降低),并且Orange Pi 5+不僅在二月份進(jìn)行了測試(當(dāng)時溫度較低),而且還安裝在一個有利于對流冷卻的外殼中。
所以我實際上稱之為平局 - 因為我現(xiàn)在有 16GB RAM 可以在M7上使用,并且官方案例正在進(jìn)行中(這應(yīng)該可以改善冷卻效果)我將重新審視這一點phi3:instruct(初步結(jié)果還可以,但我想看看更好的冷卻是否真的有所不同)。
RKNN 工具包
像往常一樣,我調(diào)查了支持狀態(tài)rknn。RKNN -LLM現(xiàn)在已經(jīng)存在,但它有幾個怪癖:
它要求你將模型轉(zhuǎn)換為.rknn安裝了 Python 3.8(令人驚訝的是,Python 3.8 非常古老)的 Linux x64 機(jī)器上的文件
然后它缺少關(guān)于如何在設(shè)備上運行模型的任何文檔
...所以我無法真正讓它工作——當(dāng)我有更多時間時我會重新審視這個問題。
關(guān)于 UBUNTU ROCKCHIP 的說明
但我的大部分測試(以及我停滯了一段時間的地方)都是在Ubuntu Rockchip 24.02 上進(jìn)行的,這是一個新的發(fā)行版,它試圖為 Rockchip 設(shè)備提供更新的 Ubuntu 映像。
它看起來很有希望,但我遇到了一些問題:
M7在運行時會變得非常熱,安裝時以及正常使用(瀏覽器、終端等)時溫度達(dá)到 76攝氏度。
啟動速度非常慢(需要一分鐘多的時間才能到達(dá)登錄提示)。
嘗試將其安裝到 EMMC 后,我收到一個非常奇怪的uboot錯誤,導(dǎo)致我無法通過按下電源按鈕來啟動它。
相比之下,即使兩者都設(shè)置為這樣,Armbianperformance內(nèi)核的平均運行溫度也要低得多(并且我的所有基準(zhǔn)測試都是使用調(diào)節(jié)器在Armbian Bookworm中完成的ondemand)。
我花了幾個星期的時間,但最終我能夠通過重新刷新官方 Wikiuboot中的映像來解決啟動問題,但需要注意的是,這還要求我使用真正的 Windows 機(jī)器來刷新它——使用 VM 非常困難,因為端口會改變 USB ID,而且我無法在 Linux 上的 Windows VM 中工作。OTGRKDevTool
支線任務(wù):設(shè)置 RKDEVTOOL 語言
能夠使用的一個關(guān)鍵步驟RKDevTool(除了ADB在 Windows 中安裝驅(qū)動程序)是能夠以英語使用它,因為我可以獲得的所有最新版本都默認(rèn)為中文。
訣竅是將隨附的Selected語言設(shè)置為:config.ini2
#選擇工具語言:Selected=1(中文);Selected=2(英文) [Language] Kinds=2 Selected=2 LangPath=Language Lang1File=Chinese.ini Lang1FontName=宋體 Lang1FontSize=9 Lang2File=English.ini Lang2FontName=Arial Lang2FontSize=9
否則,界面導(dǎo)航會有點困難——但與實際弄清楚我必須重新刷新圖像相比,這是一個小問題uboot……
我使用 RKDevTool 3.19 和 1.15.1 uboot 鏡像來修復(fù)我的主板
支線任務(wù):有效使用 VS CODE 串行監(jiān)視器
在調(diào)試啟動問題時,我使用了帶有擴(kuò)展的 USB-TTL 適配器ms-vscode.vscode-serial-monitor。
但是,該擴(kuò)展不支持目前似乎所有的范圍的 1.5Mbps 波特率,所以我不得不將其添加到 VS Code 配置中以使用自定義波特率:
"vscode-serial-monitor.customBaudRates":[1500000]
媒體轉(zhuǎn)碼
盡管我還沒有找到用途rknn-toolkit2并且ollama仍然無法利用RK3588先進(jìn)的硬件,但我終于能夠在支持下測試Jellyfin——RK3588它有點崩潰(有時很難弄清楚是客戶端還是服務(wù)器崩潰),但 CPU 負(fù)載的減少明顯,并且使其作為媒體服務(wù)器更具吸引力——盡管它很難與英特爾的 QuickSync 競爭。
請記住,您必須選擇正確的 Docker 映像才能實現(xiàn)這一點,并且它不是全面的 GPU 支持——似乎只是ffmpeg進(jìn)行了修補(bǔ)以執(zhí)行此操作,而且我還沒有讓HandBrake工作(這將是一個更有趣的測試)。
但我打算在Jellyfin發(fā)布一兩次之后回到這個主題并進(jìn)行更系統(tǒng)的測試,因為VPU同時RK3588支持硬件解碼和/硬件編碼。H.265AV1H.264H.265
我們只需要軟件支持再改進(jìn)一點,我想我們就會處于一個良好的狀態(tài)。
更新:正如我上面提到的,在我充實這份草案后的幾周內(nèi),Armbian推出了一個具有改進(jìn)的 MESA/VPU 支持的 Ubuntu Noble 版本,但我還沒有時間對其進(jìn)行測試。我會在測試后更新這篇文章。
結(jié)論
不難看出M7的吸引力–主板上包含了很多可以立即使用的功能,而這些功能在其他主板上要么是附加的,要么根本不存在:
EMMC 存儲(Orange Pi 5 沒有配備)
Wi-Fi(Orange Pi 和 YouYeeToo R1 均不具備此功能,盡管它們都有 M.2 插槽)
雙 2.5GbE 網(wǎng)絡(luò)
M.2 2280 NVMe 插槽(80 毫米 NVMe 驅(qū)動器的選擇比 42 毫米多)
令我失望的一件事(這在當(dāng)前的 SBC 中很正常)是缺少單線操作來將其插入顯示器并以此方式供電 —— 這感覺像是錯失了機(jī)會。
但是,如果您想要一臺可以實際開發(fā)的 ARM Linux 機(jī)器,那么硬件功能和官方的ArmbianRK3588支持使它比 Raspberry Pi 5 更具吸引力——Pi 5在原始 CPU 能力或吞吐量(無論是網(wǎng)絡(luò)還是存儲)方面無法與任何主板相匹敵,而 M7至少與我測試過的其他 Rockchip 主板相當(dāng)。
是的,文檔和軟件支持仍然有點混亂,但這對于這些主板來說是正常的 - 并且 M7至少比大多數(shù)主板得到更好的支持。
我真的很好奇它在更好的冷卻條件下會表現(xiàn)如何,一旦我拿到正式的機(jī)殼,我會重新進(jìn)行一些測試,看看它的表現(xiàn)如何。不過,可能需要一段時間。
審核編輯 黃宇
-
主板
+關(guān)注
關(guān)注
53文章
1883瀏覽量
70830 -
開源硬件
+關(guān)注
關(guān)注
8文章
208瀏覽量
29815 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97456 -
banana pi
+關(guān)注
關(guān)注
1文章
113瀏覽量
3024
發(fā)布評論請先 登錄
相關(guān)推薦
評論