機器人邊緣運算:如何分配 CPU、 GPU 和 NPU 工作

機器人邊緣運算在處理器購物問題之前,是一個排程和資料流動的問題。攝影機、解碼、感知、規劃、通訊和關節控制的執行速率和截止時間都不同。有用的平台是在機器人的有功功率和熱條件下,完成整個資料時代的有界資料。

CPU 適合不規則的控制流、作業系統服務、中介軟體、狀態機及多種規劃任務。 GPU 對於大型並行工作負載和靈活神經模型非常高效。 NPU 可以以吸引人的功耗效率執行支援的神經操作。當硬控制或保護性截止日期需要隔離時,沒有任何處理器能替代專用 MCU 或即時控制器。

請結合 機器人推斷延遲預算ROS 2 即時控制指南閱讀本書。測量可部署軟體的影像和感測器設定;供應商峰值號或孤立模型基準無法確定機器人反應能力。

從物理系統的截止時間和更新頻率開始

列出每個重複功能、觸發器、標稱速率、最差可接受完成時間和最大輸入時間。 30 Hz 攝影機可能輸入 15 Hz 策略,而狀態估計器執行 200 Hz,馬達控制器執行 1 kHz。這些是獨立的定時合約,而非單一平均影格率。

分配錯過截止日期後必須發生的事情。感知可能會丟棄舊影格,規劃可能會短暫保留最後有效軌跡,控制器可能會暫停或減速。備用需要獨立邊界,因此超載的加速器無法無聲地重放陳舊指令。

NVIDIA Jetson Nano 開發板,配備散熱器儲存槽和外設聯結器
板載開發板結合了計算、記憶體和感測器介面,但機器人效能仍依賴於完整的部署流水線。來源:Ubahnverleih,維基共享資源。許可:CC0 1.0

將一個觀察追蹤到一個應用的命令

時間戳物理暴露、感測器傳輸、解碼、預處理、推論佇列和完成、後處理、規劃、訊息傳遞和命令應用。跨階段攜帶同一個序列身份。主機時鐘、裝置時鐘和感測器硬體時鐘需要有檔案的同步方法,才能比較時間戳。

報告中位數、 P95、 P99、最大觀測延遲、取樣計數和執行時輸入年齡。吞吐量表示工作完成量;延遲表示單個專案等待的時間。高度流水線化的系統在機器人操作舊場景時可以報告高影格率。

階段典型的主人主要測量故障訊號
俘獲與轉交感測器與驅動器暴露於宿主的時間掉影格或後影格
預處理CPU 還是 GPU佇列加執行緩衝區的生長
推斷GPU 或 NPU排隊到輸出時間備用分割槽
規劃CPU 還是 GPU狀態到指令時間錯失視界
應用控制器指令使用年齡陳舊的拒絕

使用 CPU 進行不規律工作和系統協調

CPU 負責驅動程式、 ROS 2 執行程式、狀態機、通訊、異常路徑以及帶有分支或小規模變化工作負載的演算法。它們還負責啟動加速器工作和管理記憶體。當一個繁忙的核心或鎖決定截止日期時,低平均利用率並不代表剩餘空間。

將硬迴圈或安全相關迴圈與頁面錯誤、檔案紀錄、動態分配和盡力而為服務區分開來。僅在追蹤爭用後應用親和力和排程。釘頂執行緒仍可等待記憶體、驅動程式、中斷或共享互斥。

用 GPU 處理廣泛的並行工作負載

GPU 在影像變換、特徵提取、點處理和神經網路中表現有效,這些都暴露了大量並行工作。其成熟的庫使其在快速模型迭代中非常有用。效能取決於張量形狀、精度、核選擇以及每次釋出中分配的工作量。

小批次機器人通常更重視單次請求延遲而非最大吞吐量。在測量中包括主機佇列、同步、輸出副本和競爭核心。如果流水線等待格式轉換或記憶體擁有時間更長,核心速度再快也無濟於事。

以五個步驟整理機器人邊緣運算:如何分配 CPU、 GPU 和 NPU 工作的判讀重點
依正文與一手資料整理的繁體中文實務卡。來源:Physical AI Lab。

只有在檢查已編譯的圖後才使用 NPU

NPU 可以以低功耗反覆執行支援的運算子,但模型轉換可能會改變精度、形狀或圖結構。不支援的運算子可能執行在 CPU 上,或將圖分到不同裝置。遷移和複製成本可能抹去預期的收益。

檢查編譯器報告,並與參考模型比較輸出準確性。測試部署後的動態輸入、預處理和後處理。當操作員覆蓋率、記憶體或軟體成熟度不同時,廣告中更多 TOPS 的裝置對特定型號可能較慢。

工作量首選方案為什麼需要確認的事項
驅動程式與狀態機中央處理器不規則控制與輸入輸出核心與鎖的爭奪
大視覺張量GPU並行靈活計算複製品與發射台
固定支援網路國家動力系統(NPU)功耗推斷操作員備份
硬即時關節控制環MCU 或 RT 控制器確定性時期分離與安全反應
混合管道異質性並行優勢同步成本

記憶體頻寬可以主導加速器的數學

多攝影機、深度圖、點雲、地圖和大權重可能在算術單元繁忙前就使記憶體過飽和。共享記憶體硬體並不保證零複製:軟體可以在每個邊界分配新緩衝區、轉換色彩格式或更改張量佈局。

記錄緩衝區所有權、分配、讀寫流量及佇列深度。透過地址和追蹤驗證任何零副本宣告。同時測試整個感測器組,因為同時突發和快取壓力能揭示單攝影機基準測試隱藏的問題。

電源模式和冷卻是設定的一部分

電池機器人執行在電熱預算的綜合範圍內。計算峰值可能與致動器峰值重疊,導致電壓下降或功率限制。密封外殼、防塵過濾器、安靜風扇策略或高溫倉庫可能會在短暫基準測試結束後長時間降低持續時鐘。

每次比較時都要固定電源模式、時鐘、風扇策略和環境條件。執行足夠長以達到熱平衡,並記錄軌道功率、溫度、頻率和延遲。選擇一個有餘裕的持續工作點,而不是第一分鐘的最大值。

比較具有可重複工作負載的板子

TOPS 值可能採用不同的精度、稀疏度假設和操作定義。比較同一型號、輸入、軟體版本、精度目標、感測器負載和功率模式。測量端對端延遲、持續吞吐量、記憶體餘量、任務能耗及超載恢復情況。

板材選擇還包括攝影機和網路介面、儲存、啟動時間、安全性、長期供應、更新流程和診斷工具。稍慢的平台如果可重複且可在整個車隊中維護,可以降低生命週期成本。

分析資源爭用和故障,而不僅僅是名義上的操作

在感知和規劃執行的同時,執行對映、紀錄、視覺化、網路和更新檢查。注入丟棄影格、突發流量、儲存壓力、熱限速和掛機加速器作業。觀察佇列是否保持有界,以及是否拒絕過時輸出。

將 CPU 排程、加速器時間線、記憶體流量、電源和機器人狀態關聯到一個時鐘上。平均利用率可以隱藏短暫的阻塞事件。儲存成功和失敗執行的跟蹤,以便效能迴歸與軟體或韌體更新關聯。

一個 SoC 和分散式計算有不同的故障模式

單個 SoC 可以減少佈線和序列化,但會集中熱量、電力和軟體故障。分散式控制器可以隔離快速環路並提供故障控制,同時增加網路延遲、時鐘同步、協議和恢復狀態。這兩種拓撲都不會自動更具確定性。

將大量原始資料放置在感測器附近,並在保持任務證據的情況下傳送緊湊結果。定義鏈路消失或某節點重啟時的處理。介面必須包含時間戳、有效性、序列和健康狀態,而不僅僅是有效負載。

保持部署設定檔版本管理

歸檔板的版本、韌體、核心、驅動程式、執行時、模型工件、編譯器選項、電源設定和散熱設定,涵蓋每個基準測試。 NVIDIA Jetson 目前的軟體檔案 暴露了多個版本分支,請引用測試的具體版本。平台檔案描述的是能力,而非特定機器人工作負載的結果。

在模型、中介軟體、驅動或機箱變更後重複驗收工作負載。如適用,使用 NVIDIA Nsight Systems 檔案,其他加速器使用等效廠商工具。只有當系統時序和任務效能同時提升時,才接受最佳化。

評估“機器人邊緣運算:如何分配 CPU、 GPU 和 NPU 工作”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。

只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。

  • 定義速度、截止日期和指揮年齡限制。
  • 透過命令應用追蹤捕獲。
  • 檢查已編譯的圖表和記憶體副本。
  • 壓力:電力、熱量和同時工作量。
  • 具體的硬體和軟體設定檔。

常見問題

機器人能在沒有 CPU 的情況下執行嗎?

大多數實用機器人仍需 CPU 來驅動、通訊、狀態機和異常處理。 GPU 和 NPU 裝置加速選定工作負載。

更高的 TOPS 是否意味著機器人延遲更低?

不。精度、操作員支援、記憶體移動、批處理、電源模式、冷卻和佇列都會影響端對端的時序。

GPU 和 NPU 應該同時執行嗎?

它們可以,尤其是對於獨立工作負載,但圖拆分和緩衝區傳輸必須被測量,因為同步可能成本高於節省。

統一記憶體會自動變成零副本嗎?

不。 API 和所有權變更仍可分配或複製緩衝區。透過分析和地址級證據確認實際路徑。

板塊基準測試應該執行多久?

足夠長的時間達到最糟糕的預期溫度,暴露出限速、記憶體增長和佇列不穩定,而所有生產感測器和服務都處於啟用狀態。

機載計算證據邊界

計算效能取決於具體的電路板、軟體版本、型號、感測器負載、電源模式和熱環境。在提出部署宣告前,請驗證整個機器人流水線。

相關主題:倉儲揀選機器人如何運作?架構、指標與導入判斷