ロボットのエッジコンピューティングは、プロセッサのショッピング問題になる前に、スケジューリングやデータ移動の問題です。カメラ、デコード、知覚、計画、通信、共同制御は異なる速度で動作し、異なる締め切りがあります。有用なプラットフォームとは、ロボットの実電力と熱条件下でデータ時代が制限されるチェーン全体を完成させるものです。
CPUは不規則な制御フロー、オペレーティングシステムサービス、ミドルウェア、ステートマシン、そして多くの計画タスクに適しています。GPUは大規模な並列ワークロードや柔軟なニューラルモデルに効率的です。NPUは、魅力的な電力効率でサポートされたニューラル操作を実行できます。ハードコントロールや保護期限が分離を必要とする場合、専用のMCUやリアルタイムコントローラに代わるものはありません。
ロボット推論遅延予算とリアルタイム制御ガイドROS 2一緒に読んでください。展開可能なソフトウェアの画像およびセンサー構成で測定;ベンダーのピークナンバーや孤立したモデルベンチマークでは、ロボットの応答性を確立することはできません。
物理的な締め切りと更新頻度から始める
すべての繰り返し動作、そのトリガー、公称レート、最悪の許容完了時間、最大入力時間をリストアップしてください。30 Hzのカメラは15 Hzのポリシーを送り、状態推定器は200 Hz、モーターコントローラーは1 kHzで動作します。これらは独立したタイミング契約であり、平均フレームレートが一つではありません。
締め切りを逃した後に何をすべきかを割り当ててください。知覚は古いフレームを落としたり、計画が最後の有効な軌道を一時的に保持したり、コントローラーが保持したり減速したりすることがあります。フォールバックは独立した境界を必要とするため、過負荷のアクセラレータが古くなったコマンドを静かに再生できないようにします。

1つの観察を1つのコマンドに追跡する
タイムスタンプ物理露出、センサー転送、復号、前処理、推論のエンキューと完了、後処理、計画、メッセージ配信、コマンド適用。1つのシーケンス同一性をステージ間で持ち続けます。ホストクロック、デバイスクロック、センサーハードウェアクロックは、タイムスタンプを比較する前に同期方法が文書化されている必要があります。
中央値P95、P99、最大観測遅延、サンプル数、作動時の入力年齢を報告してください。スループットはどれだけの作業が完了するかを示します。レイテンシーは、1つのアイテムがどれくらい待つかを答えます。高度にパイプライン化されたシステムは、ロボットが古いシーンで動作している間に高いFPSを報告できます。
| 舞台 | 典型的な所有者 | 一次測定 | 故障信号 |
|---|---|---|---|
| 捕獲と移送 | センサーとドライバー | 宿主への曝露時間 | ドロップまたはレイトフレーム |
| 前処理 | CPUかGPU | キューと実行の組み合わせ | 成長バッファー |
| 推論 | GPUかNPU | エンキューから出力までの時間 | フォールバックパーティション |
| 計画 | CPUかGPU | 状態から指令までの時間 | 失われた地平線 |
| 応用 | コントローラー | コマンド年齢の使用 | 古臭い拒絶 |
不規則な作業やシステムの調整にはCPUを使う
CPUはドライバ、 ROS 2 エグゼキュータ、ステートマシン、通信、例外パス、そして分岐や小さな変化するワークロードを持つアルゴリズムを処理します。また、加速作業を開始し、記憶管理も行います。低い平均利用率は、忙しいコアやロックが締め切りを決める場合、ヘッドルームの確保にはなりません。
ハードループや安全関連ループをページフォールト、ファイルログ、動的割り当て、ベストエフォートサービスから分離します。アフィニティとスケジューリングは競合を追跡した後にのみ適用してください。ピン留めされたスレッドはメモリ、ドライバー、割り込み、または共有ミューテックスを待つことができます。
GPUは広範囲の並列作業に使う
GPUは画像変換、特徴抽出、ポイント処理、そして大量の並列処理を露呈するニューラルネットワークに効果的です。成熟したライブラリは、迅速なモデル反復において有用です。性能はテンソル形状、精度、カーネル選択、そして各打ち上げに集められる作業量に依存します。
小規模バッチのロボティクスは、最大スループットよりも単一リクエストの遅延を重視することが多いです。ホストのエンキュー、同期、出力コピー、競合するカーネルも測定に含めてください。より高速なカーネルは、パイプラインがフォーマット変換やメモリ所有に長く待たれても、何の違いも生みません。

NPUはコンパイルされたグラフを確認した後のみ使用する
NPUはサポートされた演算子を低消費電力で繰り返し実行できますが、モデル変換によって精度、形状、グラフ構造が変更されることがあります。サポートされていない演算子はCPU上で動作したり、グラフをデバイス間で分割したりすることがあります。移行コストやコピーコストが期待された利益を帳消しにしてしまうことがあります。
コンパイラレポートを検査し、出力精度と参照モデルを比較してください。動的入力、前処理、後処理を展開時にテストします。より多くのTOPSを宣伝する機器は、オペレーターのカバレッジ、メモリ、ソフトウェアの成熟度が異なる場合、特定のモデルでは遅くなることがあります。
| 作業量 | 最初の候補 | なぜか | 確認すべき点 |
|---|---|---|---|
| ドライバーとステートマシン | CPU | 不規則制御とI/O | コアとロックの競合 |
| 大きな視覚テンソル | GPU | 並列柔軟な計算 | コピーと発射のオーバーヘッド |
| 固定サポートネットワーク | NPU | 省電力推論 | オペレーターのフォールバック |
| ハードジョイントループ | MCUまたはRTコントローラ | 決定論的期間 | 分離と安全な反応 |
| 混合パイプライン | 異質 | 同時的な人数 | 同期コスト |
メモリ帯域幅が加速器の数学を支配することがあります
複数のカメラ、深度マップ、点群、地図、大きな重みは、算術ユニットが忙しくなっていない前からメモリを飽和させることがあります。共有メモリハードウェアはゼロコピーを保証するものではありません。ソフトウェアは新しいバッファを割り当てたり、色フォーマットを変換したり、各境界でテンソル配置を変更したりすることができます。
バッファの所有権、割り当て、読み書きトラフィック、キュー深度を記録します。ゼロコピーの主張は住所やトレースで検証してください。同時にバーストやキャッシュ圧力を測定すると、ワンカメラベンチマークでは隠されている問題が明らかになるため、センサーセット全体を一緒にテストしてください。
電源モードと冷却は構成の一部です
バッテリーロボットは電気と熱の予算を組み合わせて動作します。計算ピークはアクチュエータのピークと重なり、電圧の低下や電力制限を引き起こすことがあります。密閉された囲い、防塵フィルター、静かなファンポリシー、またはホットウェアハウスは、短いベンチマーク終了後も持続的なクロックを長く短縮できます。
すべての比較で電源モード、クロック、ファンのポリシー、環境条件を修正してください。熱平衡に達するまで十分な時間走行し、レールの電力、温度、周波数、遅延をログにします。最初の1分間の最大値ではなく、マージンのある持続的な操作ポイントを選びましょう。
再現可能な作業量を持つボードを比較する
TOPSの値は、異なる精度、スパーシティの仮定、演算定義を用いる場合があります。同じモデル、入力、ソフトウェアバージョン、精度ターゲット、センサー負荷、電源モードを比較してください。エンドツーエンドのレイテンシ、持続的なスループット、メモリの余裕、タスクごとのエネルギー、過負荷からの回復を測定します。
ボードの選択にはカメラやネットワークインターフェース、ストレージ、起動時間、セキュリティ、長期供給、更新プロセス、診断ツールも含まれます。やや遅いプラットフォームでも、フリート全体で再現可能かつ保守可能であれば、ライフサイクルコストを削減できます。
プロファイルの競合と故障、単なる名目上の動作ではありません
知覚と計画が機能する間に、マッピング、ログ、可視化、ネットワーキング、更新チェックを実行してください。ドロップフレーム、トラフィックのバースト、ストレージプレッシャー、サーマルスロットリング、そしてハングアクセラレータジョブをインジェクトします。キューが有界のままであるか、古い出力が拒否されるかを観察します。
CPUのスケジューリング、アクセラレータのタイムライン、メモリトラフィック、電力、ロボットの状態を1クロックに関連付けます。平均利用率は短いブロッキングイベントを隠すことがあります。成功・失敗の実行のトレースを保存し、パフォーマンスの回帰をソフトウェアやファームウェアの変更に結びつけることができます。
1つのSoCと分散型計算は異なる故障モードを持っています
単一のSoCは配線やシリアライズを削減できますが、熱、電力、ソフトウェアの故障を集中させます。分散コントローラは高速ループを分離し障害封じ込めを提供するだけでなく、ネットワーク遅延、クロック同期、プロトコル、回復状態を追加できます。どちらの位相も自動的により決定論的ではありません。
大きな生データをセンサーの近くに置き、タスクの証拠を保持する限りコンパクトな結果を送信しましょう。リンクが消えたり、あるノードが再起動した場合に何が起こるかを定義してください。インターフェースにはペイロードだけでなく、タイムスタンプ、有効性、シーケンス、健康状態も含めなければなりません。
導入プロファイルのバージョンを固定する
アーカイブボードのリビジョン、ファームウェア、カーネル、ドライバー、ランタイム、モデル成果物、コンパイラのオプション、電源プロファイル、そしてすべてのベンチマークでのサーマルセットアップ。 NVIDIAの現在の Jetsonソフトウェアドキュメント には複数のリリースブランチが公開されているため、テストされた正確なリリースを引用してください。プラットフォームのドキュメントは、特定のロボットワークロードの結果ではなく、能力を記述します。
モデル、ミドルウェア、ドライバー、エンクロージャーの変更後に受け入れ作業を繰り返します。NVIDIA Nsight Systemsのドキュメントを該当する場合は使用し、他のアクセラレータには同等のベンダーツールも使用してください。システムのタイミングとタスクパフォーマンスが同時に向上するまで最適化を受け入れないでください。
- 速度、期限、指揮年齢制限を定義してください。
- コマンドアプリケーションを通じてキャプチャを追跡します。
- コンパイル済みグラフやメモリコピーを点検してください。
- ストレス、電力、暖房、そして同時進行の作業負荷。
- 正確なハードウェアとソフトウェアプロファイルのバージョンを教えてください。
よくある質問
ロボットはCPUなしで動作できますか?
ほとんどの実用的なロボットは、ドライバー、通信、ステートマシン、例外処理のためにCPUを必要とします。GPUやNPUデバイスは、選択されたワークロードを加速します。
TOPSが高いほどロボットのレイテンシーは低いのでしょうか?
いいえ。精度、オペレーターサポート、メモリ移動、バッチ処理、電源モード、冷却、キューはすべてエンドツーエンドのタイミングに影響を与えます。
GPUとNPUは同時に動作すべきでしょうか?
特に独立したワークロードでは可能ですが、グラフ分割やバッファ転送は、同期が節約よりもコストがかかる可能性があるため、測定が必要です。
ユニファイドメモリは自動的にゼロコピーになるのでしょうか?
いいえ。APIや所有権の変更でもバッファの割り当てやコピーは可能です。プロファイリングと住所レベルの証拠で実際の経路を確認しましょう。
ボードベンチマークはどのくらいの期間続けるべきでしょうか?
最悪の予想温度に達し、すべての生産センサーやサービスが稼働している間にスロットリング、メモリの成長、キューの不安定性を露呈させるのに十分な時間です。
オンボード計算証拠境界
計算性能は、正確な基板、ソフトウェアリリース、モデル、センサー負荷、電源モード、熱環境によって異なります。デプロイ主張を行う前に、ロボット全体のパイプラインを検証してください。