製品情報 : パイプライン開発ユーティリティ PGPG2
PGPG2 (Pipeline Generator for Programmable GRAPE,
generation 2注1) は、パイプライン処理に
適した形式の数値演算を C 言語に似た高級言語で記述し、この記述から
GRAPE-7 向けのパイプライン回路を生成するためのユーティリティです。
主な特長
- 高級言語による記述から、ハードウェア記述言語 VHDL で記述されたパ
イプライン回路を自動生成します。典型的なケースでは、高級言語による記述
10〜100 行をもとに VHDL による記述 1000〜10000 行が生成されます。
- 生成したパイプライン回路はインタフェース回路注2 (ホスト - GRAPE-7 間のデータ転送制御回路)
とともに Altera 社の論理合成ツール QuartusII
Web Edition (無償) を用いて合成できます注3。
合成した回路は GRAPE-7 上に搭載されている FPGA (再構成可能デバイス) に書き込んで使用できます。
- 回路のブロック図、ビットレベルエミュレータ、シミュレーション用回
路、テストベクタとその出力期待値も自動生成されます。これらを用いて回路
の動作検証、計算精度の評価等を行えます。
- パイプライン回路をホスト計算機上のアプリケーションから利用するた
めのユーザライブラリとヘッダファイルも自動生成されます。
パッケージに含まれるソフトウェア、データ、資料
- PGPG2 ユーティリティ一式
- インストールガイド、ユーザガイド、その他のマニュアル類
- パイプライン記述サンプル
- ホスト - GRAPE-7 間データ転送ライブラリ (ソースコード付き)。
- Linux 用 GRAPE-7 デバイスドライバ (ソースコード付き)。
使用例
- 既存の重力相互作用パイプラインの調整
- 既存の重力相互作用パイプライン (GRAPE-5 相当) の数値フォーマット
やビット幅を調整することで演算精度を調整できます。必要とする演算精度が
既存のパイプラインよりも低い場合には、この調整によってパイプライン当り
の回路規模を減らし、パイプライン本数を増やせることがあります。
- 独自のパイプラインの設計注4
- 独自のパイプラインを設計することも可能です。特に分子動力学、流体
力学 (SPH)、境界要素法 (BIEM) などの計算手法に関しては、パイプライン化
により演算速度を向上できる場合があることが、先行研究によって示されてい
ます。
関連情報
- 注1: PGPG2 は PGPG (Hamada et al.,
2005) をもとに、当社にて機能拡張を行ったユーティリティです。PGPG
のその他の機能拡張には PGR (Hamada
& Nakasato, 2005) があります。PGPG2 の採用した「高級言語による
パイプライン記述」の概念は、会津大学中里准教授によって提案されたもので
す (2006 年)。
- 注2: 機種に応じた適切なインタフェース回路が自動生成されます。
- 注3: GRAPE-7 Model800 および Model100 について
は、設計したパイプラインの最終出力 (FPGA デバイスへ書き込むためのビッ
トストリームデータ) を生成するためにPLDA 社製の PCI-X IP
コアが必要です。GRAPE-7 を購入された方のうちコアをお持ちでない方には、
ビットストリームデータの生成を当社にて行います (無償)。なお Model600
および Model300 については回路合成にコアは不要 (インタフェース回路がパ
イプラインとは別個の FPGA に書き込まれているため) ですので、ユーザ自身
でビットストリームデータの生成を行えます。
- 注4: ユーザ指定のパイプライン開発および検証作
業も当社にて承っております。詳しくはご相談ください。
- お問合せは info@kfcr.jp まで。