Stratix 10: 信号処理において最も強力かつ効率的な FPGA

製品背景情報
Stratix 10:
信号処理において最も強力かつ
効率的な FPGA
FPGA は、高スループットかつ高並列なデジタル信号処理 (DSP) として高い評価を得て
います。
この機能は、FPGA デバイスの何世代にもわたって着実に向上してきました。
し
かし、時として、進化的というよりむしろ革新的な新製品が登場します。アルテラの最新
Stratix® 10 FPGA & SoC ファミリはまさにそのような製品です。Stratix 10 デバイスは、最
大 23 TMACS の固定小数点性能、最大 10 TFLOPS の単精度小数点性能を達成しなが
ら、
グラフィック処理ユニット (GPU) や専用 DSP などのソリューションに比べてはるかに
低い消費電力を実現する業界最高性能の DSP デバイスです。Stratix 10 のユーザーは、
実際のデザインにおいて競合 GPU ソリューションの最大 10 倍の GFLOPS/ワットを期待
できます。
この最新デバイスは、多くのイノベーションを組み合わせることで、
こうした性能のブ
レークスルーを実現しています。Stratix 10 デバイスは、豊富な DSP リソースに加え、
500K LE ~ 5.5M LE 相当のロジック集積度および大容量のオンチップ・メモリをすべ
てモノリシック・コア・ファブリック・デザインに搭載し、業界最先端の半導体プロセス・
テクノロジであるインテル 14nm トライゲート・プロセスで製造されます。また、画期
的な HyperFlex™ コア・アーキテクチャの搭載により、さまざまなアプリケーション向
けの FPGA デザインにおいて、前世代の高性能 FPGA 製品の 2 倍のコア・クロック周
波数 (fMAX) を実現しています。
メモリや DSP ブロックなどのハード・ブロックは、新しい
HyperFlex 機能を生かして最大 1 GHz 動作をサポートできるように設計されています。
DSP アーキテクチャは、18 ビットおよび 27 ビット固定小数点を引き続きネイティブ・サ
ポートするほか、FPGA で最大の 64 ビット・アキュムレータを備えています。さらに広い
ダイナミック・レンジを得るために、Arria® 10 デバイス・ファミリで初めて採用されたネイ
ティブ浮動小数点アーキテクチャを Stratix 10 デバイス・ファミリでも採用し、ハード化さ
れた専用回路を使用して IEEE 754 単精度浮動小数点をサポートします。
この新機能によ
り、浮動小数点アルゴリズムを固定小数点と同じ性能および電力効率で実装することが
可能です。
しかも、消費電力、実装面積、
または集積度についての妥協や、固定小数点機
能の犠牲を強いられることは一切ありません。
製品背景情報
浮動小数点性能とその特長
アルテラの Generation 10 FPGA には、中核をなす主要技術があります。高い評価を
得ているアルテラの可変精度 DSP ブロックは、すべての DSP ブロックに単精度浮動小
数点加算器と単精度浮動小数点乗算器を備えています。現行のミッドレンジ Arria 10
FPGA は、20nm ファミリで 140 GFLOPS ~ 1.5 TFLOPS を達成しています。
アルテラの新
しい 14nm Stratix 10 FPGA ファミリは、
これらのハード化された DSP ブロックに 1 万個
以上の浮動小数点演算子を備えており、同じアーキテクチャを使用して 1 個のデバイス
としては最も高度な浮動小数点演算並列処理を実現します。
また、DSP ブロック性能もこれまでにないレベルを達成しています。Stratix 10 デバイス
では、すべての固定小数点モードは1 GHz で動作し、すべての浮動小数点モードにおい
ては、800 MHz で動作します。
これらの卓越したクロック・レートは、14nm トライゲート・
プロセス・テクノロジが可能にした超高集積 DSP ブロックと相まって、Stratix 10 FPGA
ファミリの 2.8M LE デバイスを使用した場合、11.5 TMACS (プリアダー使用時は 23
TMACS) と 9.3 TFLOPS のピーク性能を実現します。
さらに、競合 GPU ソリューションを
はるか上回る、約 80 GFLOPS/ワットという比類のない電力効率も達成しています。
浮動小数点演算ユニットは、乗算器、加算器共に、既存の可変精度固定小数点モードと
シームレスに統合されています。それにより、浮動小数点乗算器と浮動小数点加算器の
比率が 1:1 のため、独立して、乗加算器として、
または乗算アキュムレータとして使用する
ことが可能です。現在のデザインに使用されている固定小数点 DSP 処理機能はすべて
利用できますが、必要に応じてデザインの全体または一部を単精度浮動小数点に容易
にアップグレードでき、それによって優れた数値的忠実性とダイナミック・レンジが得ら
れます。IEEE 754 浮動小数点の複雑さはすべて DSP ブロックのハード・ロジック内で完
結しているため、
プログラマブル・ロジックは消費されず、たとえ DSP ブロックの使用率
が 100 % でも、固定小数点デザインと同様のクロック・レートを浮動小数点でサポート
することが可能です。
同調動作する浮動小数点 DSP ブロックのカラムは、専用のベクトル・モードもサポート
しています。
このベクトル・モードを使用して、高並列高速フーリエ変換 (FFT) や有限イ
ンパルス応答 (FIR) フィルタの実装のような伝統的な FPGA 機能のほか、高性能コン
ピューティング・アプリケーションで一般に使用される線形代数関数をサポートすること
が可能です。
この構造は、各ブロックの浮動小数点乗算器と浮動小数点加算器の使用率
を最大化するように設計されており、
アルテラ FPGA 自体のピーク GFLOPS に限りなく
近い性能を実現できます。
アルテラは、包括的な浮動小数点演算関数群を提供しています。OpenCL™ (Open
Computing Language) 1.2 に準拠した約 70 種類の math.h ライブラリ関数が、新し
いハード化された浮動小数点アーキテクチャに最適化されています。
これらの関数は
FPGA ロジックをほとんど使用せず、FPGA に内蔵されたハード・メモリおよび DSP ブ
ロックを利用します。そのため、使用率の高い FPGA デザインでも一貫して低レイテンシ
で高クロック周波数の実装が保証されます。
2
製品背景情報
生産性の利点
ネイティブ浮動小数点サポートは、複雑な高性能アルゴリズムを FPGA に実装する設計
者にとって大きな意味があります。
アルゴリズム開発およびシミュレーションがシステム
の構築前からすべて浮動小数点で実行されるからです。ネイティブ浮動小数点サポー
トがない場合、
アルゴリズムのシミュレーション完了後、通常はさらに 6 ~ 12 カ月にわ
たって、固定小数点実装内の浮動小数点アルゴリズムの解析・変換・検証作業が必要で
す。その際、デザインをまず固定小数点に手動変換しなければならず、エンジニアには
数値解析と数値安定性の経験が要求されます。
しかし、経験豊富なエンジニアでも、実
装でシミュレーションと同じ数値的精度が得られることはまずありません。さらに、その
後のアルゴリズム変更も手動で移植しなければならず、
システム内の固定小数点アルゴ
リズムを最適化するステップはシミュレーションには一切反映されません。システム統
合時やテスト時に問題が生じた場合、手動変換プロセスにおけるミス、数値的精度の問
題、あるいはアルゴリズム自体の問題が原因として考えられますが、問題の特定は困難
を極める可能性があります。
アルテラの浮動小数点 FPGA を使用すれば、
こうした問題
をほとんど、あるいは完全に解消することが可能です。
GP-GPU との比較
アルテラの浮動小数点 FPGA と性能面で直接競合するのは、競合 FPGA 製品ではなく、
汎用グラフィック処理ユニット (GP-GPU) です。競合 FPGA ベンダーのソフト浮動小数点
実装は、ロジックを使用して複雑な浮動小数点回路を実装する点だけを見ても競合せ
ず、面積効率面でも劣ります。
まるで、ハード乗算器を内蔵していなかった時代の FPGA
が、DSP ブロックを内蔵した最新 FPGA アーキテクチャと競争しようとするようなもので
す。
しかし、数年前、GPU ベンダーは浮動小数点を演算ユニットに組み込んだ結果、浮動小
数点処理の大部分で 1 TFLOPS を超える浮動小数点性能レベルを達成しました。そうし
たデバイスは、もはやグラフィックス・エンジンを超えて汎用コンピューティング・アクセ
ラレータの域に達したことから、GP-GPU と呼ばれるようになりました。
FPGA、GPU 共に OpenCL と呼ばれる一般的なデザイン・フローを使用しますが、
アルゴ
リズムの実装方法に大きな違いがあります。GP-GPU は、数千個の小型浮動小数点乗加
算ユニットが並列動作する「細粒度」アーキテクチャを採用しています。アルゴリズムは
何万ものスレッドに分割され、データの入力に応じて利用可能な演算ユニットにマップ
されます。
一方、
アルテラ FPGA は、数千個の演算ユニットが通常は数十個の高度なパイプライン
構造に配置され、ベクトル処理する
「粗粒度」
アーキテクチャを採用しています。例えば、
FFT コアやコレスキー分解コアなどがあり、
これらのコアがそれぞれ各クロック・サイク
ルでベクトル幅の出力データを生成します。
このベクトル幅は設計者が決定できます。
3
製品背景情報
GP-GPU は、
どちらかと言えば I/O に対する演算の比率が非常に高いアルゴリズムを得
意とします。
しかし、ホスト GPU は PCI Express® (PCIe®) リンク経由で GPU にデータを提
供しなければならないため、各データに対して高度の計算を実行しない限りデータ待機
状態が発生する可能性があります。GP-GPU は、多くの場合、広範なライブラリが用意さ
れているほか、
プラグイン・サーバー・カードとして利用可能です。
FPGA は、高性能コンピューティング分野では比較的新しいデバイスですが、競争優位
性があります。まず、粗粒度アーキテクチャのため、データ・ストリーム処理のレイテン
シが GPU よりはるかに低いことが挙げられます。
これは、データセンター・アクセラレー
ションなどのアプリケーションや、
レーダー処理などのエンベデッド・アプリケーションに
おいて大きな優位性となります。
次に、FPGA は GFLOPS/ワット性能で GP-GPU をはるかに上回ることです。
これは、ア
ビオニクスなど、環境的に制御されていないアプリケーションにおいて決定的に重要
な意味を持つ可能性があります。
また、消費電力バジェットが決まっている場合、一般に
FPGA は GP-GPU よりはるかに多くの演算を実行できるということにもなります。
そして、FPGA は卓越した汎用性とユビキタスな接続性を備えていることです。FPGA は
データパスに直接配置し、そこを流れるデータを処理できます。例えば、FPGA はアレイ・
アンテナのフィードと直接インタフェースし、光ファイバまたはバックプレーン・リンクを
介して他のシステム・コンポーネントと通信しながら、固定小数点処理と浮動小数点処理
の両方を実行することが可能です。実際、
アルテラは OpenCL ベンダー・エクステンショ
ン・ルールに従って、データ・ストリーミング・オプションを OpenCL ツールに追加してい
ます。
浮動小数点デザイン・フロー
設計者は、さまざまなデザイン・フローを使用して浮動小数点 FPGA 機能を利用でき
ます。例えば、いくつかの浮動小数点演算関数または FFT コアがあれば十分というハー
ドウェア設計者は、すでに利用可能なアルテラ・メガファンクションや MegaCore® IP
(Intellectual Property) を利用することが可能です。
アルテラは、ハードウェア・エンジニアやシステム・エンジニアのために、DSP Builder ア
ドバンスト・ブロックセット・ツールによるモデル・ベース・フローも提供しています。
この
ツール・フローでは、設計からシミュレーション、実装までを MathWorks 環境内で完結
できるほか、線形代数アプリケーションに必要なベクトル処理もネイティブ・サポートさ
れます。GPU 設計者は、OpenCL を使用すれば、FPGA アーキテクチャを詳しく理解する
必要なく FPGA を利用することが可能です。
これらのツール・フローはいずれもすぐに利用可能で、多くのアルテラ FPGA ファミリを
サポートしています。ネイティブ浮動小数点 FPGA の大きな利点として、Quartus® II 開発
ソフトウェアを使用してリコンパイルを実行し、Stratix 10 または Arria 10 FPGA をター
ゲットにすると、ハード浮動小数点 DSP ブロックにシームレスにマップされます。
謝辞
Michael Parker、Principal DSP Planning Manager、Altera Corporation
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks
of Altera Corporation and registered in the U.S. Patent and Trademark Office and are trademarks or registered trademarks in other countries. All other words and
logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/legal. June 2015
BG-1001/JP