第 3 部 本物から学ぶ…スパコンの並列演算器の研究 第 6章 シミュレーションから! FPGA ボードで超強力ソーティング ご購入はこちら ビッグデータ時代にますます重要! ハードウェア・データ処理に挑戦 小林 諒平 実験1:PCでシミュレーション 実験2:FPGAに実装して 実機動作 PCI Express Gen2 ×8 FPGA FPGAボード 実験結果 10 9 8 7 … … 1 2 3 昇順に 4 ソート 図 1 大容量データ時代のハードウェアの活躍どころ! ソーティ ングを実験する ここでは,ハードウェアでソーティングを行うこと による効果について,実験で確認してみます(図 1). シミュレーションと実機の 2 種類の実験を行いま す.まず,PC で動作するシミュレータを使用して ソーティング・アクセラレータの動作を確認します. 次に,ソーティング・アクセラレータを FPGA で実 際に動作させて,C プログラムによる実行性能と比べ てみます. 実機編では,やや高価な FPGA ボードを使うので 敷居が高いのですが,もしボードを持っていれば, ソーティング・アクセラレータを動作させ,ソフト ウェア処理よりも 10 倍以上高速化することを手軽に 確認できます. 準備 実験を行うためのファイルは筆者が用意していま す. https://github.com/monotone-RK/ FACE/CQ 以下の方法で,あらかじめダウンロードしておいて ください. $ svn export https://github.com/ monotone-RK/FACE/trunk/CQ 72 表 1 実験で使用する設計データ ディレクトリ名 (CQ/ 以下) bit driver 内 容 ソーティング・アクセラレータの回路情報 PCI Express 通信のためのドライバ src ソー ティ ング・ アクセラレー タのソー ス・ ファイル一式 test シミュレーションを実行するためのテストベ ンチ util 実機での動作確認で利用するアプリケーション Vivado ソーティング・アクセラレータ回路を生成す るための Vivado プロジェクト・ファイル ディレクトリ構成を表 1 に示します. 実験を行うに当たって,ソーティング・アクセラ レータのアルゴリズムは考えなくて構いません.詳し くは Appendix 2 で解説しています. 参考までに概要のみ紹介すると,今回の実験では, 図 2 に示すようなソーティング・ネットワークとマー ジ・ソート・ツリーを組み合わせたソーティング・ア クセラレータのデザインを使用します.ソーティン グ・ネットワークの幅は 16,マージ・ソート・ツリー のウェイ数は 16,マージ・ソート・ツリーのスルー プットは 4/ サイクルです.また,ソーティングの対 象となる値は 32 ビット整数型のキーのみとします. 実験 1:PC でシミュレーション ここでは,RTL(Register Transfer Level)シミュ レーションでソーティング・アクセラレータの動作を 確認します. ソ ー テ ィ ン グ・ ア ク セ ラ レ ー タ の デ ザ イ ン は Verilog HDL というハードウェア記述言語で設計され ています.RTL シミュレーションは, HDL(Hardware Description Language;ハードウェア記述言語)で設 計されたデザインの挙動をレジスタ転送レベル(組み 合わせ回路とフリップフロップを単位とするレベル) で模擬します.ハードウェアの設計では,設計者は HDL で 記 述 後 に,RTL シ ミ ュ レ ー シ ョ ン で ハ ー ド 2016 年 12 月号
© Copyright 2024 ExpyDoc