FPGA+CPUアーキテクチャに基づく自動運転プラットフォームの性能分析

FPGA+CPUアーキテクチャに基づく自動運転プラットフォームの性能分析

1 はじめに

自動運転の分野では、センサーデータに対するディープニューラルネットワークに基づく大量の複雑な計算が必要となるため、CPUのアクセラレータとしてGPUやFPGAが使用されています。そうすることで、コンピューティングのパフォーマンスが向上するだけでなく、エネルギー消費も大幅に削減されます。 FPGA + CPU アーキテクチャの自動運転プラットフォームは、その柔軟性、高効率、低消費電力により、Waymo、Baidu、Ford、General Motors など、技術力のある多数の企業で採用が進んでいます。ここでは、FPGA + CPU 自動運転プラットフォームのパフォーマンスを見積もる方法について説明します。目的は、開発者が FPGA + CPU 自動運転システム プラットフォームを選択する際に、最初にシステム パフォーマンスを評価する方法を習得できるようにすることです。この記事では、Xilinx が発売した Zynq UltraScale+ MPSoC (部品番号 = ZU19EG) を例として使用して、この方法を説明します。

著者の知識レベルと執筆方法の限界により、誤りや漏れなどがあれば読者の皆様からご指摘いただければ幸いです。

2. FPGA+CPUをベースとした自動運転プラットフォームシステムの設計

図1はFPGA+CPUをベースにした自動運転システムの典型的な概略図です。一般的に、マルチコア アプリケーション プロセッサ ユニット (AP) は、主にタスクのスケジュール設定、管理、およびその他のタスクのために、1 つ以上のオペレーティング システムを実行するように構成されています。ビッグ データの処理、たとえば、画像の特徴値の抽出、ターゲット カテゴリの認識、マルチターゲットの追跡、モーション予測、およびその他の複雑な操作は、主に FPGA のプログラマブル ロジック モジュールであるプログラマブル ロジック (PL) に配置されて処理されます。自動運転プラットフォームのパフォーマンスを測定するには、いくつかの重要な側面があります: 1. ビッグデータを処理するシステムの能力。ここでは、FPGA の PL モジュールの計算能力を理解する必要があります。 2. 複雑なマルチタスク処理能力、つまりアプリケーションプロセッサ CPU の計算能力。 3. 高速かつ大容量のデータ伝送、すなわち、センサーデータの受信およびPLとAP間のデータ通信機能。

スペースの制約により、この記事ではポイント 1 についてのみ詳しく説明し、ポイント 2 と 3 については簡単に説明します。

図1: FPGA+CPUをベースとした自動運転プラットフォームの概略図

3 FPGA PLの性能を計算する方法

3.1 FPGAの性能は計算が難しい

FPGA の性能を計算する方法を紹介する前に、現在主流の FPGA のハードウェアについて理解しておきましょう。 Xilinx の Zynq UltraScale+ MPSoC を例にとると、その PL にはロジック ブロック、RAM、DSP スライスなどのプログラム可能なリソースが含まれています。しかし、最終的な FPGA パフォーマンス値を取得することは、以下の理由により困難です。

  • 加算器を構築するために必要なロジック セルと DSP スライスの数を知ることは簡単ではありません。この数は FPGA IP コアのサプライヤによって決定され、ユーザーが知ることは困難です。
  • 通常、FPGA がアプリケーション プロセッサと通信するために使用する I/O デバイスは、一定数のロジック セルを占有する必要があるため、すべての FPGA リソースを使用して加算器を構築することは不可能です。
  • 浮動小数点演算により、設計されたクロックは設計指標の 100% に到達できません。設計されたクロック周波数指標と比較すると、約 80% にしか到達できません。
  • 温度の影響もシステム クロックを調整する必要があり、固定値を使用して計算することはできません。

3.2 PFGA性能計算方法

現在一般的に使用されている方法は、システムの 1 秒あたりの浮動小数点演算回数 (FLOPS) を参照することです。除算、平方、三角関数など、浮動小数点演算で使用されるすべての高次関数は、加算と乗算の演算に簡略化でき、一般的に使用されるフーリエ変換と行列演算も加算器と乗算器の組み合わせを使用して実装できるため、FLOPS と加算器/乗算器の数は、計算パフォーマンスを測定する際に直接関係します。

FPGA の最大計算能力を計算するには、単精度データ加算器の数を使用してシステムの FLOPS を見つけることができます。乗算器と比較すると、加算器は使用するシステム リソースが少なくなり、計算されたシステム FLOPS 値は最大値に近くなります。

すべての演算が並列であると仮定すると、次の FLOPS 計算式が得られます: FPGA PL FLOPS = ( Clock1 x LC ベースの加算器番号) + ( Clock2 x DSP48 ベースの加算器番号)上記の式に基づいて、Xilinx の Zynq UltraScale+ MPSoC の ZU19EG を例に、その FLOPS を計算します。

3.3 FPGAリソース合計

図 2 の Zynq UltraScale+ (部品番号 ZU19EG) のリソース リストを見ると、1,143,450 個のロジック セルと 1,968 個の DSP スライスがあることがわかります。

図 2: Xilinx Zynq UltraScale+ リソース リスト

3.4 PL加算器の数の計算

IP コアの実装方法はアルゴリズム供給元によって決定されます。ここでは、ザイリンクスが提供する Kintex-7 ベースの加算器 IP コアで使用されるリソースのみを基準として使用します。誤差は許容範囲内である必要があります。図 3 に示すように、次のことがわかります。

  • DSP48E ベースの加算器には、2 つの DSP スライスと 289 個の LUT-FF ペアが必要です。
  • ロジック セル ベースの加算器には 517 個のロジック セルが必要です。

図 3 単精度をサポートする FPGA 機能。関連する I/O デバイスの実装により、一定数のロジック セルを占有する必要があります。ここでは、14,000 個のロジック セルが使用されていると想定します。つまり、残りのロジック セルの総数 = 1,143,450 - 14,000 = 1,129,450 です。最大値を計算するには、すべてのリソースが最大限に使用されていると想定する必要があります。

  • DSP48 ベースの加算器の数 = 1968 / 2 = 984 (個)
  • LCベースの加算額 = (1129450 - 984*289) / 517 = 1634 (個)

3.5 加算クロック

次のことを学ぶことができます。

  • DSP48ベースの加算器のクロック範囲は、600Mhz(低速)~891Mhz(最高速)です。
  • ロジックセルベースの加算器のクロック範囲は、667 MHz (低速) - 891 MHz (最高速) です。

図4 DSPスライス周波数パラメータ特性

図 5 グローバル クロック パラメータの特性さまざまな温度条件に応じて、Fmax の値を調整する必要があります。例えば:

  • 温度が0度から100度の間であれば、加算器のクロック設定は891Mhzまで設定できます。
  • 温度が-40度から100度の間であれば、加算器のクロック設定を600Mhz/667Mhzに調整する必要があります。

最大計算能力を計算するには、0〜100 度のクロック値、つまり 891MHz を使用します。

図 6 各モジュールの計算能力の概要。このことから、Zynq UltraScale+ MPSoC ZU19EG PL の計算能力は次の通りであると結論付けることができます: 2332 GFLPOS (~2 TFLOPS)概要: ~2T FLOPS は、FPGA Zynq UltraScale+ ZU19EG PL の処理能力をある程度反映しています。温度制限が -40 ~ 100 度の車載グレード製品の場合、全体的な PL FLOPS 値は 1 FLPOS ~ 1.5T FLPOS の範囲がより適切になります。

4 FPGA APの性能を計算する方法

図7に示すように、XilinxのMPSoc+FPGAシリーズ製品はSoCとも言えます。複数のARM CPUコアだけでなく、セキュリティ分野向けのR5コアやMali 400などのGPUも搭載されています。下の図から、FPGA Zynq UltraScale+ ZU19EGには

  • CPU#1: クアッドコアARM® Cortex™-A53 MPCore™ 最大1.5GHz
  • CPU#2:デュアルコアARM Cortex-R5 MPCore™ 最大600MHz
  • GPU: Mali™-400 MP2 最大 667MHz

図 7 Xilinx FPGA Zynq UltraScale+ ZU19EG ブロック図推定:

  • CPU#1 と CPU2 の合計計算能力: 2.24 x 1.5 x 1000 x 4 + 2.0 x 600 x2 ~= 15840 DMIPS
  • GPU コンピューティング能力: 2 GFLPOS

注: Cortex-R5: 1.67 / 2.02 / 2.45 DMIPS/MHz Corte-A53: 2.24 DMIPS/MHz

5 FPGAアーキテクチャの柔軟性

現在、レベル 3 の自動運転では、レーダー/ビデオ処理、アクティブ回避、自動駐車などの機能を実現するために、システムに約 350,000DMIPS の計算能力が必要であると一般的に認識されています。上の章で述べた MPSoc + FPGA は、一般的なシナリオでレベル 3 の自動運転の使用をサポートするのに十分な計算能力をすでに備えています。

ただし、より多くのレベル 4/レベル 5 の自動運転シナリオをサポートするために、FPGA のインターフェイスの柔軟性により、FPGA に基づくサブコンピューティング モジュールを簡単に追加できます。システム全体のコンピューティング能力が飛躍的に向上し、さまざまなコンピューティング ユニットへのコンピューティング能力のバランスをとることが容易になります。たとえば、LiDAR のデータ処理は、Intel Xeon サブコンピューティング モジュールで個別に実行できます。FPGA マザーボードは、ロジックを制御し、高速インターフェイス (PCIe または 10G イーサネット) を介して LiDAR データをサブコンピューティング モジュールに渡すだけで、大量のデータ処理を実行できます。

FPGA の柔軟性により、開発者は可能性をさらに広げることができます。

<<:  CMU のポスドクらが NLP データ処理ツールを発表

>>:  Metaverse と Web3 は似ていますが、最も重要な違いは何でしょうか?

ブログ    

推薦する

ドアを早く開けてください、ロボット先生が教えに来ます

[[206421]]国慶節の連休中の数日間、河南省では新たなテクノロジードラマが繰り広げられた。コン...

K2 K2、上海交通大学チームが70億パラメータの地球科学言語モデルを発表

地球科学は、岩石、鉱物、土地の特性を研究するだけでなく、地球の気候、海洋、大気、生態系などの現象と原...

李開復氏はAIバブルが年末までに崩壊すると予測、ルクン氏:それは本当だ

[[218838]] Innovation Works の創設者である Kai-Fu Lee 氏は、...

あらゆるビジネスオペレーションに AI を効果的に適用する 10 の方法

企業は、業務に AI を実装するさまざまな方法を分析し、理解する必要があります。 人工知能(AI)は...

...

インタビュー必読: 4 つの典型的な電流制限アルゴリズムの説明

[[402482]]最近、当社の業務システムは、トークン バケット アルゴリズムに基づいて実装された...

AIがあなたが何歳で死ぬかを予測?トランスフォーマーの「占い」がネイチャーのサブジャーナルに掲載され、事故死の予測に成功

AIは本当に科学的に占いができるんですね! ?デンマーク工科大学(DTU)の研究者らは、各人の死亡の...

【機械学習を図解で解説】誰でもわかるアルゴリズムの原理

アルゴリズムの式はかなり面倒で、機械学習は苦痛すぎる。機械学習を初めて学ぶ人は、複雑な数式やわかりに...

2024年のデータセンターのトレンド: より高温、より高密度、よりスマート

今日のデータセンター業界は、AI テクノロジーの急速な普及、ムーアの法則の減速、そして厄介な持続可能...

...

AIを使って新薬を「発見」し、研究開発を加速させる

発見とは何でしょうか? 数学には古くからある疑問があります。新しい数学的手法が発見された、あるいは発...

人工知能はビッグデータの保存と管理の効率をどのように向上させるのでしょうか?

ビッグデータのソースが多数存在し、企業が利用できるデータの量も増加しているため、ストレージ管理者にと...

...

...

Alibaba DAMO Academyが2019年のトップ10テクノロジートレンドを発表:AI、ブロックチェーンなど

Alibaba DAMO Academy は、2019 年のトップ 10 テクノロジー トレンド予測...