Back to Blog
地端算力的代價:當 CES 2026 談論未來,我在 Z370 上用 SATA 線與外掛電源,硬接起 AI 的心跳
📝 Dev Notes

地端算力的代價:當 CES 2026 談論未來,我在 Z370 上用 SATA 線與外掛電源,硬接起 AI 的心跳

B
Blake
Jan 7, 2026 By Blake 8 min read
當 CES 2026 描繪著 Strix Halo 的優雅未來,我的現實卻是暴力的。為了在 2017 年的 Z370 老主板上驅動雙卡 RTX 3090,我不惜將第二顆電源「外掛」在機殼外,並透過一條淘寶買的 SATA 線觸發它的心跳。這是一篇關於物理限制、NCCL Error 報錯、以及工程師如何用混合架構(Spark + RAPIDS)繞過硬體高牆的實戰紀錄。

引言:兩個世界的距離

昨天,當 AMD 執行長蘇姿丰在 CES 2026 上高喊「AI 屬於終端」時,我轉頭看了一眼我腳邊那台發出低頻轟鳴的巨獸。

她描繪的未來是優雅的:Strix Halo、統一記憶體、高度整合。
而我的現實是暴力的:兩顆電源供應器(其中一顆掛在機殼外面)、透過一條淘寶買的 SATA 轉 ATX 啟動卡同步「心跳」,驅動著兩張不同品牌的 RTX 3090。機殼內部充滿了電鑽修改過的痕跡,一根根電源線從縫隙拉進去,像是接駁外掛的維生系統。

第一章:Z370 的前世今生 — 從隔離環境到 AI 煉丹爐

這台機器的底座,是一張 2017 年代的 GIGABYTE Z370 主機板。它並不是單純的電子垃圾,而是我過去開發生涯的見證。

身為一名長期使用 Mac 進行開發的工程師(9 年 Frontend/IoT 經驗),我經常遇到一個痛點:客戶端的應用程式僅支援 Windows。為了不讓工作用的 MacBook Pro 環境變得混雜、臃腫,我在 2023 年 8 月組裝了這台電腦,專門用來隔離處理 Windows 端的測試需求。

一台備用機,滿足特定用途,何必高端。Z370 + i7-8700K + 16GB RAM,夠了。

多年過去,這台原本為了「隔離工作環境」而生的機器,被我塵封在書房角落,直到 2025 年 12 月。當我開始構想 Geo Decision Matrix 專案需要 48GB VRAM 的時候,我突然想起了它。

為什麼不拿來改造?反正也閒著。

於是它被賦予了新的使命:扛起全量地理數據的矩陣運算。從 Windows 客戶端測試機,變成了 Linux AI Server。從塵埃中挖出來,插上兩張卡皇,拿起電鑽,拉起電源線,重新燃燒。

第二章:硬體揭秘 — 空間的暴力置換、電鑽與「外掛心臟」

為了湊出 48GB VRAM,我在 2025 年 12 月的二手市場淘來了兩張卡皇:

  • 主卡:EVGA RTX 3090 FTW3 ULTRA(額定 350W)

  • 副卡:ASUS ROG STRIX RTX 3090 GAMING OC(額定 350W)

為了應對這兩張卡加起來超過 1000W 的瞬時功耗尖峰,我決定上 「雙電供(Dual PSU)」 方案:主系統用 Cooler Master MWE 1050W,副卡獨佔一顆 Cooler Master XG 850。

物理空間的惡夢:外掛電源

但這裡出現了一個致命的物理難題。
ROG STRIX RTX 3090 實在太肥。當我把它插進 PCIe Slot 2 並為了散熱空間而傾斜安裝時,它直接佔據了 Phanteks 機殼原本分配給第二顆電源的位置。

MWE 1050W 已經佔了一個坑,那 XG 850 去哪裡?
答案是:外掛在機殼外面。

主電源安分地待在機殼內;而副電源 XG 850,則被我用鋼絲架「外掛」在主機前方。電源線透過機殼的通風孔縫隙拉進去,看起來就像一台正在進行心外膜起搏(ECMO)的患者。

電鑽與銅柱:當顯卡立架不合時

如果不只是電源沒地方放,連顯卡都鎖不上呢?
為了把那張巨大的 ASUS 副卡塞進底部電源倉的位置,我必須使用顯卡延長線(Riser Cable)進行直立安裝。但悲劇發生了:我手邊的 GPU 延長線與機殼原本的顯卡立架孔位不合——延長線的鎖點太短,根本夠不到立架上的螺絲孔。

這時候正常的工程師會去買一條相容的線。但我沒有。
我拿出了電鑽

我看準了延長線的孔距,直接在機殼的鋼板立架上鑽出了新的孔位。接著,我找來主機板用的六角銅柱(Standoffs),拴進新開的孔裡,硬生生造出了一個全新的、堅固的鎖點。
當螺絲轉緊的那一刻,我意識到這已經不只是組裝電腦,這是 Case Modding(機殼改造)。

淘寶的智慧:SATA 同步啟動卡

最後,怎麼讓那顆「流浪」在機殼外的電源跟著主機同步開關?
我在淘寶上找到了一個價格幾塊錢人民幣的 SATA 轉 ATX 啟動卡

原理極其簡單暴力:

  1. 主電源的 SATA 線接上這張轉接卡。

  2. 當主機通電,SATA 供電觸發卡上的繼電器。

  3. 繼電器閉合,喚醒副電源的 24-pin。

按下開關的那一刻,機殼內的 EVGA、機殼外的 ASUS,以及那個被電鑽強行固定的立架,同時發出運轉的聲音。簡單、便宜、充滿了駭客精神。

第三章:撞牆 — 當 Docker 遇上 NCCL Error

硬體亮了,不代表軟體通了。
我的目標很清楚:用 RAPIDS Dask 啟動分散式運算,讓這兩張卡並聯跑 K-Means。理論上應該能達到接近 2 倍的速度。

但我花了整整一週的時間,只換來終端機上的一行字:

第一道牆:頻寬不對等

這就是**「地端算力的代價」**。
在雲端,你有 NVLink (900 GB/s)。而在地端,我只有 Z370 的 PCIe 3.0 x16
理論頻寬是 32 GB/s,但在 P2P(Peer-to-Peer)通訊下,實測只有 12-15 GB/s。因為 Z370 的 PCIe 拓撲設計,所有 GPU 通訊都必須經過 Memory Controller Hub 中介,每一層都引入了延遲。

第二道牆:型號不對等

EVGA 和 ASUS 的卡雖然都是 3090,但 VBIOS、時脈、功耗策略完全不同。
當 NCCL 試圖建立「通訊環(Ring)」時,時脈差異(2550MHz vs 2300MHz)導致了嚴重的同步延遲。最終,NCCL 在容器內檢測失敗,P2P 被強制禁用(P2P Disabled)。

成績單:雙卡竟然比單卡還慢 2.8 倍

當 P2P 被禁用,Dask 的所有跨 GPU 數據交換都必須經過 CPU 記憶體中介(PCIe Transfer)。海量的重複傳輸讓雙卡方案跑了 420 秒,而單卡只花了 150 秒

我拿著電鑽解決了物理問題,卻被物理定律(頻寬)解決了。

第四章:架構轉折 — 承認失敗,擁抱混合架構

這是一個工程師最痛苦的時刻:承認你的硬體架構無法支撐你的軟體野心。
我決定不再追求「兩張卡同時算」,而是追求「有效率的算」。

Stage 1:CPU 扛下髒活 — Apache Spark ETL

100 萬筆原始地理數據是「髒數據」。我將清洗工作交給 CPU 上的 Apache Spark,它能高效處理邏輯判斷,並輸出為 Parquet 格式。

Stage 2:Parquet 交接 — 列式儲存的優雅

Parquet 的列式結構讓 GPU 在讀取時能精確對齊記憶體邊界,極大化頻寬利用率。

Stage 3:RAPIDS cuML 單點突破

現在,我只用一張卡(EVGA 主卡)。
結果:150 秒完成。快了 2.8 倍,且零 NCCL Error。

# K-Means on single GPU
import cudf
from cuml import KMeans

gdf = cudf.read_parquet('/data/geo_data_clean/')
kmeans = KMeans(n_clusters=50)
kmeans.fit(gdf)

第五章:展望 — 為什麼 Strix Halo 讓我激動

回到開頭的 CES 2026。蘇姿丰說「AI 屬於終端」。
經歷過這一週的痛苦後,我終於明白 AMD Strix Halo(Ryzen AI Max+)的價值。

它的關鍵創新是 統一記憶體(Unified Memory)。CPU 和 GPU 共享同一個 96GB 的 LPDDR5X 池子。
這意味著:沒有 PCIe 瓶頸,沒有 VBIOS 相容性問題,不需要外掛電源,當然,也不需要拿電鑽去鑽你的主機。

但在 Strix Halo 普及之前,這台「掛著尿袋、滿身鑽孔」的 Z370 怪獸,依然是我最驕傲的戰友。
因為它教了我什麼是真正的工程:不是追逐最新最強的硬體,而是在限制中找到優雅的出口。

這就是地端開發者的浪漫。

待續:在這套混合架構的基礎上,我計畫加入 RAPIDS cuGraph 進行地理網路分析。Geo Decision Matrix 第三部曲,才剛剛開始。


📚 References

Enjoyed this article? Show some love!

0
Clap

Enjoyed this article?

Subscribe for engineering notes and AI development insights

We respect your privacy. No spam, unsubscribe anytime.

Share this article

Comments