インテル® arria® 10 fpga 性能ベンチマークの手 … › content › dam › altera-www...

Post on 25-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

著 者

Martin S. Wonインテル・プログラマブル・

ソリューション・グループテクニカル・スタッフ・シニアメンバー

Madhu Mongaインテル・プログラマブル・

ソリューション・グループアプリケーション・エンジニア

インテル® Arria® 10 FPGA は、一般に公開されている OpenCores* デザインにおいて、 1スピードグレード分以上高速なコア性能と最大20% の fMAX の優位性を実現しています。 †

ホワイトペーパーFPGA

インテル® Arria® 10 FPGA性能ベンチマークの手法と結果

はじめに

このホワイトペーパーでは、インテル® Arria® 10 FPGA プログラマブル・ロジック製品ファミリーのコア性能の評価およびベンチマーキングを行うための厳密な手法を紹介します。 こうした手法を明らかにすることで、関連プロダクトの開発に携わる関係者は結果を再現し、分析することが可能になります。† 最終的には、一般に公開されている OpenCores* のデザインから、さまざまな機能の 10 種類のデザインを選択し、インテル® Arria® 10 FPGA ファミリーのデバイスおよび最も近い競合製品である Xilinx* UltraScale* ファミリーのデバイスに実装しました。 そして、こうしたサンプルデザインを幅広いデバイスで利用し、最大クロック周波数を測定した結果、インテル® Arria® 10 FPGA は、Xilinx* UltraScale* デバイスに比べて性能が最大20% 向上することが分かりました。 †

背景:インテル® FPGA 製品および SoC 製品の性能評価

プログラマブル・ロジック業界には、 標準となるベンチマーク手法がありません。 そのためインテルでは、 顧客のデザインや社内で生成したデザインの各種組み合わせを対象とした厳密な社内分析を行うことで、 前世代のインテル製品や競合製品との比較によってプログラマブル・ロジック製品の性能を把握し、 数値化しています。 こうしたデザインは、 高性能コンピューティング、画像 / ビデオ処理、有線 / 無線通信、コンシューマー製品など、さまざまな市場セグメントから集めています。 さらに、これらのデザインでは、ほかのベンダーの ASIC および FPGA を含む、さまざまな実装テクノロジーが使用されています。 幅広いデザインを使用することで、インテルは結果の精度を高め、インテル® Quartus® Prime 開発ソフトウェア・スイートなどの FPGA 設計ツールと顧客のデザインとの複雑な相互作用を表現できるように取り組んでいます。 顧客のデザインを使用するため、 インテルは、 さまざまな論理合成ツールおよびElectronic Design Automation(EDA) のベンダーと連携できるように、 デザインの変換にも多くのリソースを投入しています。 また、インテルは、確実に機能が保持され、特定の FPGAベンダー向けに適切なコード最適化が行えるようにしています(開発されるデザインの多くが、特定の FPGA 向けに最適化が行われているため、こうした作業は不可欠です)。

性能比較に関しては、少なくともタイミング制約付(デフォルト設定によるコンパイル) とベストエフォートの 2 種類の比較を使用しています。 エフォートレベルには、結果の取得に必要なユーザーのエフォート (ユーザーが実行する必要のある作業量) とツールのエフォート (必要な合計コンパイル時間) の両方が反映されます。 タイミング制約付の比較の目的は、EDA ツールのデフォルト設定を使用することですが、 EDA ツールが性能に関する最適化を行っているかどうかも確認する必要があります。 一方、ベストエフォートでの比較の目的は、達成可能な最高の結果を示すことです。 この種の比較を行う実験では、ボタンを押すだけのデフォルトのコンパイルよりも個々のコンパイル時間が長くなり、1 デザイン当たりで複数回のコンパイルが必要になります。

目 次

はじめに . . . . . . . . . . . . . . . . . . . . . . . . 1

背景:インテル ® FPGA 製品および SoC 製品の性能評価 . . . . . . . . . . . . . . . 1

OpenCores* ベースの性能比較による 透明性の向上 . . . . . . . . . . . . . . . . . . . . 2

性能比較の対象とする デバイスファミリー . . . . . . . . . . . . . . . . 2

分析で使用される OpenCores* デザイン . . . . . . . . . . . . . 2

OpenCores* デザインの スタンプ手法 . . . . . . . . . . . . . . . . . . . . . 2

OpenCores* デザインの スタンプ / ベンチマーク手法 . . . . . . . . . 2

ソフトウェア・ツール、設定、制約 . . . . . 4

個々の OpenCores* デザインの コンパイル結果 . . . . . . . . . . . . . . . . . . . 5

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . 8

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . 8

詳細情報 . . . . . . . . . . . . . . . . . . . . . . . . 8

2

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果

この手法を用いて、各デザインにおける速度重視のクロックパスで達成できる最大 fMAX で測定すると、 インテル® Arria® 10 FPGA およびSoC は、競合する他の 20nm FPGA 製品よりも優れたコア性能を実現できることが分かりました。 こうした性能優位性は、デザインによって約 10% ~ 20% のスピードアップを意味し、およそ 1 ~ 2 スピードグレード分の優位性に相当します(一般に、 FPGA のスピードグレードは 10% ~ 15%† の性能の差と定義されています)。 これらの結果は、 最高性能の 20nm FPGA ファミリーというインテル® Arria® 10 FPGA の位置付けを裏付けるものです。 しかし、 これらは顧客のデザインとインテル独自のデザインを使用することで得られる結果であり、分析の詳細についてはほんの一部しか共有されません。 その結果、こうした情報の有用性は、プログラマブル・ロジック・ユーザーにとって限定的でしかありません。

OpenCores* ベースの性能比較による透明性の向上

プログラマブル・ロジックの性能を把握するにあたり、 こうした課題に対処するためにインテルは、 一般に公開されている OpenCores*(http://www.opencores.org/) のデザインを使用したベンチマークの取り組みに着手しました。 OpenCores* はオープンソースのハードウェア Intellectual Property(IP)コアを提供する組織です。 このベンチマークの取り組みの目的は、 プログラマブル・ロジック・ユーザーが次のことを実行できるよう支援することにあります。

• 性能評価に使用されている正確なデザインを把握する(これらデザインのレジスター転送レベル (RTL)記述の詳細など)

• 分析の結果を自分で再現する

• 分析の結果を詳細に調査して、インテル® Arria® 10 FPGA の性能優位性をユーザーの特定のデザインに適用可能であることを確実に理解する

この OpenCores* ベースの性能分析は、タイミング制約付きのコンパイルに特化しているので、インテルが社内で採用している分析よりも適用範囲が狭くなっています。 この分析はトピックを包括的に扱うものではありません。 しかし、 同様のデザインを実装する場合、 または一連のデザインセットに使用されているものと同様の機能からなるデザインを実装する場合、この分析の結果および結論は、競合デバイスと比較したインテル® Arria® 10 FPGA の相対的な性能に関するインサイトをもたらします。

性能比較の対象とするデバイスファミリー

インテルは、 性能分析用にインテル® Arria® 10 FPGA ファミリーとXilinx* UltraScale* ファミリーを選択しました。 これらの製品はいずれも TSMC* の 20nm プロセスで構築されています。 インテルは、利用できる最速のスピードグレードを使用する、最大でサイズ的に同等な 2 つのデバイスを選択しました。

• インテル® Arria® 10 デバイス:10AX115U1F45E1SG

• Xilinx* UltraScale* デバイス:XCKU115FLVF19243E

注 意:ファミリー内のこれよりも小型のデバイスでも、同様の性能結果が得られます。 インテル社内のテストによると、同じスピードグレードの Kintex* UltraScale* デバイスと Virtex* UltraScale* デバイスは同様の性能レベルを示します。 そのため、どちらかのファミリーでスピードグレードが最も高速のデバイスは、UltraScale* 製品全体を代表することになります。

分析で使用される OpenCores* デザイン

インテルは、 デザインのサイズと複雑さに基づいて OpenCores* を選択しました。 これは、さまざまなデバイス・リソース・タイプ (ロジック、 RAM、 DSP) を混合して使用する、 幅広いタイプの機能を表すことが目的でした。 表 1 に、性能比較に使用した OpenCores* デザインと、 各デザインの http://www.opencores.org/ ウェブページへのリンクを示します。 このウェブページでデザインの詳細を確認し、 ダウンロードすることができます。 この表には、各 OpenCores* デザインで使用される平均ロジック数も示しています。 これは、次の要素を使用した測定値です。

• インテル® Arria® 10 FPGA の場合 : アダプティブ ・ ロジック ・ モジュール (ALM)

• UltraScale* FPGA の場合:コンフィグラブル・ロジック・ブロック・ルックアップ・テーブル (CLB LUT)

注 意:ALM と CLB LUT はアーキテクチャーが異なります(ALM は 8入力のルックアップ・テーブルを使用し、CLB は 6 入力のルックアップ・テーブルを使用します)。 このため、 同じデザインでも、 使用される両デバイスの数は異なることが予測されます。

OpenCores* デザインのスタンプ手法

OpenCores* デザインでは、 ターゲットデバイス内のごく一部のリソースのみを使用します。 デバイスリソース全体のうち一部のみを使用することは、プログラマブル・ロジック・ユーザーにとって一般的なプラクティスではありませんし、 目標として望ましいものでもありません。 また、使用率が増加すると、デバイスリソースが枯渇したり、デザインの配置と配線が困難になるため、多くの場合、達成可能な最大の fMAX に悪影響を及ぼします。 デバイス使用率がプログラマブル・ロジックの性能に与える影響をシミュレーションするため、インテルは何度もコンパイルを行い、コンパイルごとに前回のコンパイルよりも1 つずつ OpenCores* デザインのインスタンスを増やしました。 具体的には次のような方法で、 プログラマブル・ロジック・デバイス内のデザインサイズを大きくするため、 FPGA 内に各 OpenCores* デザインのインスタンスを繰り返し作成(同じコアを複数回スタンプ) しました。

• 各スタンプを並列に実装

• 大きなデザインに必要な I/O ピン数を低減するため、 I/O ラッパーロジックを追加

• コアとラッパーロジック間にタイミング・クリティカル・パスが存在しないように設定

• ラッパーロジックはできる限り小さなオーバーヘッドで用意

図 1 にスタンププロセスを示します。

OpenCores* デザインのスタンプ / ベンチマーク手法

OpenCores* デザインのインスタンス作成回数が増えると(それによってデザインサイズが大きくなると)、I/O ピンやグローバルクロックなどのリソースが限られてきます。 ピンが不足しないように、 各OpenCores* コアをシフトレジスターでラップし、1 つの物理ピンからコアの全入力ピンに入力を行い、 コアの全出力ピンが 1 つのシフトレジスターに入力を行うようにしました。 図 2 と図 3 に、 それぞれ入力と出力のシフトレジスターを示します。 シフトレジスターのサイズは I/O ピンの数によって異なり、シフトレジスターの数は、FPGA 内に実装される OpenCores* コアの数によって異なります。

3

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果

図 1. oc_aquarius デザインのインスタンスを FPGA 内で 4 回作成

# OpenCores* デザイン名 デザイン機能 ウェブページ

必要なリソース(単一インスタンス)インテル® Arria® 10 FPGAのALM使用数

UltraScale*の CLB LUT使用数

1 oc_avr_hp_cm4 AVRプロセッサー https://opencores.org/project,avr_hp 1,269 1,706

2 oc_warp_tmu 画像処理 https://opencores.org/project,warp 2,100 2,417

3 oc_reed_solomon_decoder

エラー訂正符合 https://opencores.org/project,reed_solomon_decoder

2,208 3,299

4 oc_usbhostslave USB 1.1コントローラー http://opencores.org/project,usbhostslave

1,228 1,701

5 oc_dma_axi64 シングルチャネル64ビットAXI*マスターDMA

https://opencores.org/project,dma_axi 1,817 2,582

6 oc_256_aes Advanced Encryption Standard(AES)

注1 1,101 2,220

7 oc_m1_core 32ビット RISCプロセッサー

http://opencores.org/project,m1_core,overview

1,797 2,617

8 oc_aquarius RISC SuperH* プロセッサー

https://opencores.org/project,aquarius 2,703 3,457

9 oc_des_des3perf Triple Data Encryption Standard(DES)

https://opencores.org/project,des 3,574 5,618

10 oc_fpu100 32ビット 浮動小数点ユニット

https://opencores.org/project,fpu100 1,827 2,700

入力ラッパーロジック 並列のOpenCores* ブロック

出力ラッパーロジック

リデューサー

リデューサー

リデューサー

リデューサー

reset

core_clk

din

wrapper_clkdout

LFSR Topリデューサー

Topoc_aquarius

oc_aquarius

oc_aquarius

oc_aquarius

LFSR

LFSR

LFSR

LFSR

表 1. 性能比較に使用した 10 の OpenCores* デザイン

1 oc_256_aes デザインは、性能比較プロジェクトの開始時には OpenCores* で利用できましたが、現在は利用できません。 このデザインは、インテルからのオープンソース使用許諾の下で今も利用できます(本資料の最後に記載したリンクを参照)。

4

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果

図 3. 出力シフトレジスターの実装

図 2. 入力シフトレジスターの実装

図 4. クロックおよびリセット信号を共有する 2 つのコアの実装

コア

シフト ・ レジスター ・クロック

core_datain

core_input[3]core_input[0]

コア

シフト ・ レジスター ・ クロック

core_dataout

core_input[3]core_input[0]

シフト ・ レジスター ・ ロード

0

グローバルクロック ・ リソースの不足を防止するために、 すべてのOpenCores* コアについてグローバルクロックとリセット信号を1 つのピンから直接入力する方法を採用しました。 例えば、 コアに2 つのクロック (コアクロック 1/ コアクロック 2) と 1 つのリセット信号が必要な場合、コアクロック 1 のすべてのインスタンスへの入力を 1 つのピンから行い、 コアクロック 2 のすべてのインスタンスへの入力を別の 1 つのピンから行い、リセット信号のすべてのインスタンスへの入力を第 3 のピンから行いました。 この方法により、 すべての OpenCores* コアに同じクロックおよびリセット信号が入力されます(図 4 参照)。

ラッパーロジックで FPGA 内のすべての OpenCores* コアを結合した後、 インテルは、 ラッパーロジック (シフトレジスター) とOpenCores* コアの間にクリティカル・パスが絶対に存在しないように確認しました。 これを達成するため、フォルスパスを作成し、コアクロックとラッパー ・ロジック・クロックを別の無関連のクロックドメインにして、タイミングパスが存在しないようにしました。 こうすることにより、設計ツールではシフトレジスターから切り離してコアを最適化できます。 インテルは、デバイスおよび設計ツールがコンパイルエラーなしに実行できる回数だけ、OpenCores* デザインのインスタンス作成を繰り返しました。

ソフトウェア・ツール、設定、制約

この調査を実行するため、 インテルは必要な FPGA 開発ツールの最新バージョン (分析の時点で利用可能だったバージョン) を使用しました。

• インテル® Quartus® Prime 開発ソフトウェア・スイート・バージョン16.1 B189

• Xilinx* Vivado* ソフトウェア・バージョン 2016.3

どちらのツールもインストールおよび動作は Linux* 64 マシン上で行いました。

これらのプログラマブル・ロジック・ツールには、デザイン性能、ロジックリソース使用量、コンパイル時間、メモリー使用量の間のトレードオフを提供する設定が複数あります。 あるデザインに対して最適な結果を生成する設定が、 別のデザインに対して最適とは限りません。また、 ユーザー制約によっても結果を向上させることができます。 顧客のデザインの見本となるデザインセットでも、ベンチマーク結果はソフトウェア設定と適用する制約によって大きく異なります。 このホワイトペーパーに記載した性能比較では、 デフォルトの EDA 設定を使用しましたが、 タイミング制約はアグレッシブな設定にしました。各デザインに対してアグレッシブなタイミング制約を確定するために、周波数(fMAX)制約を各 OpenCores* デザインクロックに適用し、この制約が各クロックに対して達成可能な値を少し超える値となるようにしました。 ベースの制約値は、制約を満たせなくなるまで制約値を増加することで決定しました。 次に、ベースの制約値に少なくとも 1.3を掛けることによって、 アグレッシブな制約を決定しました。 以下のセクションでは、各デザインに適用した制約について説明します。

コア0

コア

0 シ

フト

レジ

スタ

コア

0 シ

フト

レジ

スタ

core0_datain core0_dataout

コア1

コア

1 シ

フト

レジ

スタ

コア

1 シ

フト

レジ

スタ

core1_datain core1_dataout

シフト・レジスター・クロックコアクロック1コアクロック2

コアリセットシフト・レジスター・ロード

5

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果

f MA

X (M

Hz)

デザイン : oc_avr_hp_cm4制約 : 443 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

f MA

X (M

Hz)

デザイン : oc_warp_tmu制約 : 466 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

f MA

X (M

Hz)

デザイン : oc_reed_solomon_decoder制約 : 611 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

図 5. oc_avr_hp_cm4 の結果

図 6. oc_warp_tmu の結果

図 7. oc_reed_solomon_decoder の結果

個々の OpenCores* デザインのコンパイル結果

このセクションでは、 各 OpenCores* デザインのコンパイル結果の詳細について説明します。 それぞれのケースごとに、グラフは各デザインのコンパイルで達成した fMAX を示しています。

• 縦軸は、各コンパイルの fMAX です。

• 横軸は、 ロジック使用率(インテル® Arria® 10 FPGA の ALM とUltraScale* の CLB) で測定したデバイス使用率です。

• 青の点は、 インテル® Arria® 10 FPGA コンパイルの fMAX 値を示します。

• 赤の点は、UltraScale* コンパイルの fMAX 値を示します。

• 各データポイントのセットについて幾何平均値も示しています(インテル® Arria® 10 FPGA は青の線、UltraScale* は赤の線)。 これはデータポイントの全体的な傾向を表す数値です。

左端のデータポイントは、ロジック使用率による測定値で 40% のデバイス使用率に対応するコンパイルに関するものです。 この分析で40% を使用している理由は、ほとんどのプログラマブル・ロジック・ユーザーが約半分以上のデバイスリソースを使用することを目指し、そうでない場合は低コストを実現するためにより小さいデバイスを選択するからです。 また、 ほとんどのグラフに示されているように、fMAX 値は大部分のデバイス使用率に対して極めて安定しており、リソースの 1 つ(ロジック、 メモリー、 DSP、 配線など) が限界に達した場合のみ下落する傾向があります。 各セットの最後のデータポイント (最後に成功したコンパイル) はグラフにも幾何平均の計算にも含まれていません。 この値は分析において考慮することはありません。 最後のデータポイントは通常、デバイスリソースの 1 つが完全に枯渇したコンパイルを表し、多くのユーザーが「使用できない」 または「許容できない」 と判断するデザイン状態を示すためです。

oc_avr_hp_cm4 コア

このグラフは、 OC_AVR (AVR プロセッサー ・ コア) のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGAの fMAX 値は、 使用率 90% 付近から少し低下し、 fMAX の幾何平均は320 MHz を示します。 インテル® Arria® 10 FPGA のコンパイルは、配線の混雑により約 97% のロジック使用率でエラーとなります。UltraScale* の fMAX 値も約 90% の使用率で低下し、 fMAX の幾何平均は 267 MHz を示します。 最後のコンパイルでのロジック使用率は約97% で、 それ以降は SSI パーティショニングのエラーにより終了します。

oc_warp_tmu コア

このグラフは、 oc_warp_tmu(画像処理デザイン) のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGA の fMAX 値は約 250 MHz で安定しており、 ロジック使用率 90% 以降でわずかに低下するだけです。 fMAX の幾何平均は 248 MHz を示しています。 インテル® Arria® 10 FPGA のコンパイルは約 97% の使用率まで成功し、 それ以降は配線の混雑によりエラーとなります。UltraScale* の fMAX 値は、 約 75% のデバイス使用率で低下し始め、約87% の使用率で、配線の混雑によりコンパイルはエラーとなります。fMAX の幾何平均は 225 MHz です。

oc_reed_solomon_decoder コア

このグラフは、 oc_reed_solomon_decoder(一般にエラー訂正に使用される機能) のコンパイルに対する fMAX の結果を示しています。インテル® Arria® 10 FPGA の fMAX 値は、 約 330 MHz で極めて安定しており、 約 90% のロジック使用率で M20K メモリーリソースの枯渇により低下し始めます。 fMAX の幾何平均は 325 MHz を示します。fMAX の低下は M20K メモリーリソースの枯渇により起こりますが、

6

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果

図 8. oc_usbhostslave(USB ホスト / スレーブ) の結果

図 9. oc_dma_axi64(DMA AXI64) の結果

図 10. oc_256_aes(256 ビット AES) の結果

これはインテル® Quartus® Prime 開発ソフトウェア ・ スイートのデフォルトのコンパイル設定によるものと思われます。 この設定ではMLAB メモリーリソースの推測が有効になりません。 このようなモードでは、MLAB リソースが十分に確保されていても、すべてのメモリーのニーズに M20K リソースが使用され、約 94% のロジック使用率でM20K リソースが完全に枯渇します。 UltraScale* の fMAX 値は約 340 MHz で安定しており、 fMAX の幾何平均は 335 MHz になります。 コンパイルは約 96% の使用率まで成功し、それ以降はロジックの不足によりエラーとなります。

oc_usbhostslave コア

このグラフは、oc_usbhostslave(USB 1.1 コントローラー) のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGA の fMAX 値は極めて安定しており、 fMAX の幾何平均は 480 MHzを示します。 インテル® Arria® 10 FPGA のコンパイルは約 78% のロジック使用率でエラーとなりします。 これは reed_solomon の場合と同様に M20K リソースの枯渇によります。 UltraScale* の fMAX 値は約425 MHz で安定しており、fMAX の幾何平均は425 MHz になります。最後のコンパイルはロジック使用率が約 96% で、 それ以降は SSIパーティショニングのエラーにより終了します。

oc_dma_axi64 コア

このグラフは、oc_dma_axi64(シングルチャネル 64 ビット AXI* マスター ・ダイレクト・メモリー ・アクセス機能) のコンパイルに対するfMAX の結果を示しています。 インテル® Arria® 10 FPGA の fMAX 値は極めて安定しており、90% 以上の使用率で少し低下し始めます。 fMAX

の幾何平均は 331 MHz を示します。 インテル® Arria® 10 FPGA のコンパイルは、 配線の混雑によりほぼ 100% のロジック使用率でエラーとなります。 UltraScale* の fMAX 値も極めて安定しており、 90%以上の使用率で低下するだけです。 fMAX の幾何平均は 283 MHz です。最後のコンパイルはロジック使用率が約 95% で、 それ以降は SSIパーティショニングのエラーにより終了します。

oc_256_aes コア

このグラフは、oc_256_aes(256 ビット AES 機能) のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGA の fMAX

値は、 使用率 70% から少し低下し、 fMAX の幾何平均は 242 MHz を示します。 インテル® Arria® 10 FPGA のコンパイルは、配線の混雑によりほぼ 100% のロジック使用率でエラーとなります。 UltraScale*の fMAX 値は極めて安定しており、 fMAX の幾何平均は 209 MHz になります。 最後のコンパイルはロジック使用率がほぼ 100% で、 それ以降は LUT の不足により終了します。

oc_m1 コア

このグラフは、 oc_m1(32 ビット・プロセッサー ・コア) のコンパイルに対する fMAX の結果を示しています。 値は極めて安定しており、 約90% の使用率から少し低下し始めます。 fMAX の幾何平均は 277 MHzです。 インテル® Arria® 10 FPGA のコンパイルは、 LAB リソースの不足により、約 99% のロジック使用率で失敗します。 UltraScale* のfMAX 値も約 90% の使用率で低下し、 fMAX の幾何平均は 258 MHz になります。 最後のコンパイルはロジック使用率が約 98% で、 それ以降は CLB の不足により終了します。

f MA

X (M

Hz)

デザイン : oc_usbhostslave制約 : 684 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

f MA

X (M

Hz)

デザイン : oc_dma_axi64制約 : 558 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

f MA

X (M

Hz)

デザイン : oc_256_aes制約 : 379 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

7

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果f M

AX (M

Hz)

デザイン : oc_m1_core制約 : 465 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

f MA

X (M

Hz)

デザイン : oc_aquarius制約 : 139 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

f MA

X (M

Hz)

デザイン : oc_des_des3perf制約 : 700 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

図 11. oc_m1_core(32 ビット RISC プロセッサー) の結果

図 12. oc_aquarius(RISC SuperH* プロセッサー) の結果

図 13. oc_des_des3perf(Triple DES) の結果 図 14. oc_fpu100(32 ビット浮動小数点ユニット) の結果

oc_aquarius コア

このグラフは、 oc_aquarius(RISC SuperH* プロセッサー ・ コア)のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGA の fMAX 値は 50% 以上で低下し、 fMAX の幾何平均は 103 MHz を示します。 インテル® Arria® 10 FPGA のコンパイルの低下は、 reed_solomon の場合と同様にデフォルトのコンパイラー設定により M20K リソースが枯渇するためです。 最後に示したコンパイル(約 70% のロジック使用率) では、 すべての M20K リソースを使い切ります。 UltraScale* の fMAX 値はわずかに低下し、 fMAX の幾何平均は 106 MHz になります。 最後のコンパイルはロジック使用率が約99% で、それ以降は CLB の不足により終了します。

oc_des_des3perf コア

このグラフは、 oc_des_des3perf(Triple DES 機能) のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGA のfMAX 値は安定しており、80% 以上の使用率で低下し始めます。 fMAX の幾何平均は528 MHz を示します。 インテル® Arria® 10 FPGA のコンパイルは、配線の混雑により約 98% のロジック使用率でエラーとなります。 UltraScale* の fMAX 値は極めて安定しており、90% 以上の使用率で少し低下するだけです。 fMAX の幾何平均は 492 MHz です。 最後のコンパイルはロジック使用率が約 98% で、 それ以降は CLB の不足により終了します。

oc_fpu100 コア

このグラフは、 oc_fpu100(浮動小数点ユニット機能) のコンパイルに対する fMAX の結果を示しています。 インテル® Arria® 10 FPGAの fMAX 値は安定しており、92% 以上の使用率で少し低下し始めます。fMAX の幾何平均は 254 MHz を示します。 インテル® Arria® 10 FPGAのコンパイルは、LAB リソースの不足により、ほぼ 100% のロジック使用率でエラーとなります。 UltraScale* の fMAX 値は極めて安定しており、 fMAX の幾何平均は 232 MHz になります。 最後のコンパイルはロジック使用率が約 94% で、 それ以降は SSI パーティショニングのエラーにより終了します。

f MA

X (M

Hz)

デザイン : oc_fpu100制約 : 380 MHz

デバイス使用率 (%)

インテル® Arria® 10 FPGA の fMAX

UltraScale* の fMAX

UltraScale* の fMAX 幾何平均

インテル® Arria® 10 FPGA の fMAX 幾何平均

ホワイトペーパー | インテル® Arria® 10 FPGA 性能ベンチマークの手法と結果

† テストは、特定システムでの特定テストにおけるコンポーネントのパフォーマンスを測定しています。ハードウェア、ソフトウェア、システム構成などの違いにより、実際の性能は掲載された性能テストや評価とは異なる場合があります。 購入を検討される場合は、ほかの情報も参考にして、パフォーマンスを総合的に評価することをお勧めします。 性能やベンチマーク結果について、さらに詳しい情報をお知りになりたい場合は、http://www.intel.com/benchmarks/(英語) を参照してください。

©2017 Intel Corporation. 無断での引用、 転載を禁じます。 Intel、 インテル、 Intel ロゴ、 Intel Inside、 Intel Inside ロゴ、 Intel. Experience What’s Inside、 Intel. Experience What’s Inside ロゴ、Altera、Arria、Cyclone、Enpirion、Intel Atom、Intel Core、MAX、Nios、Quartus、Stratix および Xeon の名称およびロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。 インテルは、製品やサービスの内容を、いつでも予告なく変更できるものとします。 本資料に記載した情報、製品、サービスの適用や使用により生じた損害について、インテルは、書面で明示的に合意した場合を除き、一切の責任や義務を負いません。 公開された情報を利用する場合や、製品やサービスをご注文の場合は、事前に最新バージョンのデバイス仕様を入手されることをお勧めします。

* 第三者の社名、製品名などは、一般に各所有者の表示、商標または登録商標です。

WP-01271-1.0/JP

# OpenCores* デザイン名 デザイン機能

インテル® Arria® 10 FPGAのfMAX

(幾何平均)

UltraScale*のfMAX

(幾何平均)

インテル® Arria® 10 FPGAのfMAX/ UltraScale*のfMAX

1 oc_avr_hp_cm4 AVRプロセッサー 320 MHz 267 MHz +20%

2 oc_warp_tmu 画像処理 248 MHz 225 MHz +10%

3 oc_reed_solomon_decoder

エラー訂正符号 325 MHz 335 MHz -3%

4 oc_usbhostslave USB 1.1コントローラー 480 MHz 424 MHz +13%

5 oc_dma_axi64 シングルチャネル64ビットAXI*マスターDMA 331 MHz 283 MHz +17%

6 oc_256_aes AES(Advanced Encryption Standard) 242 MHz 209 MHz +16%

7 oc_m1_core 32ビットRISCプロセッサー 277 MHz 258 MHz +7%

8 oc_aquarius RISC SuperH*プロセッサー 103 MHz 106 MHz -3%

9 oc_des_des3perf Triple DES(Data Encryption Standard) 528 MHz 492 MHz +7%

10 oc_fpu100 32ビット浮動小数点ユニット 254 MHz 232 MHz +10%

表 2. OpenCores* デザインの結果の概要

まとめ

表 2 には、 各 OpenCores* デザインの比較で報告された fMAX 値と、UltraScale* ファミリーとの比較によるインテル® Arria® 10 FPGAファミリーの相対性能をまとめました。

10 種類のベンチマーク・デザインの中で、 8 種類がインテル® Arria® 10 FPGA ファミリーで高い fMAX 値を達成し、その差は 7% ~ 20% の範囲です。 デバイスのスピードグレード単位にすると、通常スピードグレードは 10% ~ 15% の差として定義されるので、この性能優位性は1 ~ 2 スピードグレード分となります。† ただし、ベンチマーク・デザインのうち 2 種類のデザインは、競合ファミリーの方が少し高い性能(3%)を達成しています。 この 2 つのデザインでは、デバイス使用率が向上するにつれて、インテル® Arria® 10 FPGA 内の M20K メモリーブロックの量がロジックリソースより先に枯渇し、fMAX に悪影響を及ぼしました。これは、 デフォルトのコンパイル設定を使用した結果、 デザインに必要なメモリーリソースに M20K メモリーブロックのみが使用されたことによるものでした。 MLAB メモリーリソースの使用を可能にする別のコンパイル設定では、インテル® Arria® 10 FPGA のコンパイルに対する fMAX の報告値が向上する可能性があります。 インテル® Quartus® Prime 開発ソフトウェア・スイートの今後のバージョンでは、 異なるコンパイル設定により fMAX 性能が向上し、その他のコンパイル性能指標も維持されることが確認された場合、動作に使用するデフォルトのコンパイル設定が変わる可能性があります。

インテルは、 インテル® Arria® 10 FPGA の性能に関する透明性とプログラマブル・ロジック・ユーザーの理解を向上するため、分析のベースとなったこのデータおよびデザインを提供しています。 インテル®

Arria® 10 FPGA および SoC は、 高性能の製品を目指して設計されました。 一般に公開されているデザインを使用し、今回の分析で行われた比較結果は、 同製品のプログラマブル・ロジック業界においてより高い性能(OpenCores* デザインによる測定) の 20nm FPGAおよび SoC としての位置付けを補強し、強化するものです。

参考資料1 http://www.opencores.org/(英語)2 http://www.altera.co.jp/arriaperformance

詳細情報

インテルおよびインテル® Arria® 10 FPGA の詳細については、https://www.altera.co.jp/products/fpga/arria-series/arria-10/overview.html を参照してください。

インテルおよびインテル® Stratix® 10 FPGA の詳細については、https://www.altera.co.jp/products/fpga/stratix-series/stratix-10/overview.html を参照してください。

インテル® Arria® 10 デバイスの高性能アーキテクチャーの詳細については、 次のホワイトペーパーを参照してください。 https://www.altera.co.jp/content/dam/altera-www/global/ja_JP/pdfs/literature/wp/wp-01200-power-performance-zettabyte-generation-10_j.pdf

各ベンチマークのデザインファイルをダウンロードするには、http://www.altera.co.jp/arriaperformance を参照してください。

top related