from Altera
|
|
現代の多くのデジタル信号処理(DSP)システムは、浮動小数点機能を採用し、大部分のアプリケーションが必要とする高度な数値精度およびダイナミック・レンジを達成しています。レーダー、ソナー、バイオおよび分子科学、財務モデリング、先進的な無線アンテナ処理、医療画像処理、画像解析および合成、精密制御などのアプリケーションは、FPGA での浮動小数点能力に対する要求を生み出しているごく一部のアプリケーションにすぎません。さらに、FPGA はサイズおよび機能面で成長し続けているため、任意のタイプの浮動小数点ベース・アルゴリズムまたは計算に使用可能な最高性能のプラットフォームになりつつあります。最近のナショナル・サイエンス・ファンデーションのベンチマークでは、Stratix® IV FPGA にて 171 GFLOPS を実現しており、最高の GFLOP/ワット数を記録しました。
図 1 は、アルテラが業界をリードする 浮動小数点性能を示しています。
| 表 1. 浮動小数点性能 | ||||||||||||
| 行列乗算 | 寸法 | ベクター サイズ |
ロジック使用数 | fMAX | レイテンシ (サイクル) |
GFLOPS | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LE | DSP | M9K | M144K | MemBits | ||||||||
| 単精度 | 8x8 * 8x8 | 8 | 1,346 | 32 | 26 | - | 14,986 | 420 | 209 | 6.30 | ||
| 16x16 * 16x16 | 8 | 1,434 | 32 | 27 | - | 55,562 | 421 | 611 | 6.32 | |||
| 32x32 * 32x32 | 16 | 2,520 | 64 | 76 | - | 339,718 | 419 | 2,172 | 13.00 | |||
| 64x64 * 64x64 | 32 | 4,728 | 128 | 80 | 16 | 2,382,318 | 388 | 8,353 | 24.45 | |||
| 倍精度 | 8x8 * 8x8 | 8 | 3,610 | 112 | 34 | - | 29,762 | 303 | 213 | 4.54 | ||
| 16x16 * 16x16 | 8 | 3,693 | 112 | 39 | - | 110,756 | 314 | 615 | 4.71 | |||
| 32x32 * 32x32 | 16 | 7,526 | 224 | 109 | - | 679,302 | 299 | 2,178 | 9.27 | |||
| 64x64 * 64x64 | 32 | 14,335 | 448 | 77 | 32 | 4,765,120 | 284 | 8,359 | 17.91 | |||
単精度複素数 |
8x8 * 8x8 | 8 | 3,998 | 128 | 59 | - | 22,666 | 413 | 220 | 12.80 | ||
| 16x16 * 16x16 | 8 | 4,137 | 128 | 64 | - | 79,139 | 404 | 624 | 12.52 | |||
| 32x32 * 32x32 | 16 | 8,002 | 256 | 146 | - | 420,519 | 397 | 2,181 | 24.99 | |||
| 64x64 * 64x64 | 32 | 15,627 | 512 | 216 | 16 | 2,674,289 | 360 | 8,362 | 45.68 | |||
図 2 は、Stratix IV GX EP4GX530 デバイスの FFT MegaCore ファンクションを示しています。
| 表 2. FFT MegaCore ファンクション (第2世代 フューズド・データパス) | |||
| 機能 | 14個の 浮動小数点 FFT コア、1,024 Point | ||
|---|---|---|---|
| サイズ | 最大搭載 リソース |
使用率 (%) | |
| ロジック使用数 | 300,000 | 424,960 | 70 |
| ALUT | 224,000 | 424,960 | 53 |
| レジスタ | 210,000 | 424,960 | 49 |
| M9K | 1,280 | 1,280 | 100 |
| M144K | 64 | 64 | 100 |
| DSP ブロック (18ビット) | 896 | 1,024 | 88 |
| fMAX | > 300 MHz | - | - |
| コアあたりの変換時間 | 3 us (平均値: 0.22 us) | - | - |
アルテラは、多くのIEEE 754 準拠の浮動小数点メガファンクション・ライブラリを提供しており、それらはすべてどのアルテラ デバイス・ファミリでも使用できます。主要なメガファンクションには、以下のものがあります。
- 加算/減算 [altfp_add_sub]
- 乗算 [altfp_mult]
- 除算 [altfp_div]
- 平方根 [altfp_sqrt]
- 比較 [altfp_compare]
- 対数 [altfp_log]
- 指数 [altfp_exp]
- 逆数 [altfp_inv]
- 逆平方根 [altfp-inv_sqrt]
- 行列乗算 [altfp_matrix_mult]
- サイン [alt_sine]
- コサイン [alt_cosins]
- FFT (MegaCore)
特長
浮動小数点の演算性能は、一般に演算子の動作周波数とパイプライン・レイテンシのバランスで決まります。また、GFLOP(ギガフロップス)が性能基準の尺度となります。FPGA で最大の GFLOP 性能を達成するように設計を行うときは、FPGA に配置可能な演算子の総数がきわめて重要です。そういった理由から、アルテラの浮動小数点メガファンクションには様々なパラメータが用意されているので、GFLOP 性能(または、同様に電力や面積などの他の重要な基準)を微調整して、アプリケーション固有の要件を満たすことができます。コンフィギュレーション可能な機能を以下に示します。
- 単精度と倍精度の選択
- コンフィギュレーション可能な拡張単精度
- 演算子のレイテンシと面積のトレードオフ
- 機能の縮小
- 非正規化数のサポート(オプション)
- 丸め精度の低減
- 不定のサポート(オプション)
- 専用乗算器回路のサポート(乗算器のみ)
- 加算または減算専用モード(加算器/減算器のみ)(オプション)
標準的なパフォーマンス
表 3に、選択されたいくつかの浮動小数点演算子の標準的なパフォーマンスを示します。結果はすべて Stratix IV & Stratix V FPGA ファミリに基づいて提示されたものです。詳しくは、各メガファンクションのユーザー・ガイドを参照してください。
表 3. 浮動小数点のFPGA リソース |
|||||
| デバイス | LE | 27 x 27 マルチプライヤ |
単精度マルチプライヤ | 倍精度マルチプライヤ | メモリ (Kビット) |
| 5SGSD4 | 330K | 1,020 | 1,020 | 255 | 18 |
| 5SGSD5 | 462K | 1,498 | 1,498 | 374 | 40 |
| 5SGSD6 | 583K | 1,775 | 1,775 | 443 | 45 |
| 5SGSD8 | 695K | 1,963 | 1,963 | 490 | 50 |
| 5AGXB7 | 503K | 1,139 | 1,139 | 285 | 24 |
関連リンク
- 浮動小数点メガファンクション (PDF)
- 倍精度浮動小数点演算(PDF)
- Nios® II 浮動小数点カスタム命令(PDF)
- ハイ・パフォーマンス・コンピューティング・システム・ソリューション
- Nios II 浮動小数点トレーニング(オンライン・トレーニング)
