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 パフォーマンス値を取得することは、以下の理由により困難です。
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 に示すように、次のことがわかります。
図 3 単精度をサポートする FPGA 機能。関連する I/O デバイスの実装により、一定数のロジック セルを占有する必要があります。ここでは、14,000 個のロジック セルが使用されていると想定します。つまり、残りのロジック セルの総数 = 1,143,450 - 14,000 = 1,129,450 です。最大値を計算するには、すべてのリソースが最大限に使用されていると想定する必要があります。
3.5 加算クロック次のことを学ぶことができます。
図4 DSPスライス周波数パラメータ特性 図 5 グローバル クロック パラメータの特性さまざまな温度条件に応じて、Fmax の値を調整する必要があります。例えば:
最大計算能力を計算するには、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には
図 7 Xilinx FPGA Zynq UltraScale+ ZU19EG ブロック図推定:
注: 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 は似ていますが、最も重要な違いは何でしょうか?
現在、莫大な研究開発費と長い研究開発サイクルが、製薬会社の研究開発とイノベーションにおける「障害」に...
YouTubeは本日、クリエイターカンファレンス「Made on YouTube」において、AIを活...
OStorageの責任者であるLi Mingyu氏は、同社のエンタープライズレベルのオブジェクトスト...
スペイン紙エル・ムンドのウェブサイトが2月20日に報じたところによると、ソフトウェア、ハードウェア、...
12月20日、国家深層学習技術応用工程研究室と百度が共催するWAVE SUMMIT+2020深層学習...
近年、セキュリティビデオ監視はソフトウェアとハードウェアの両方で大きな技術的進歩を遂げており、さ...
[[385285]]著者は、Raftアルゴリズムフレームワークraft-coreの独自のJavaバー...
1. LCS分析まず、サブシーケンスとは何でしょうか?定義は書きませんが、一目でわかるように例を挙げ...
ハーバード大学ジョン・A・ポールソン工学応用科学大学院のリリー・シューさんは、幼いころから環境と保護...
今日、データの処理と保存に関する懸念が高まっています。生成されるデータの量、データが作成される場所、...