An FPGA-based ultra-fast hardware sorting algorithm
Project/Area Number |
19K20276
|
Research Category |
Grant-in-Aid for Early-Career Scientists
|
Allocation Type | Multi-year Fund |
Review Section |
Basic Section 60080:Database-related
|
Research Institution | University of Tsukuba |
Principal Investigator |
|
Project Period (FY) |
2019-04-01 – 2022-03-31
|
Project Status |
Completed (Fiscal Year 2021)
|
Budget Amount *help |
¥3,380,000 (Direct Cost: ¥2,600,000、Indirect Cost: ¥780,000)
Fiscal Year 2020: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2019: ¥2,470,000 (Direct Cost: ¥1,900,000、Indirect Cost: ¥570,000)
|
Keywords | FPGA / ソーティング / OpenCL |
Outline of Research at the Start |
本研究では,アプリケーションに特化した演算パイプラインとデータ供給機構を実装可能という FPGA の特徴を最大限活用し,ソーティングを高速に実行するハードウェアアルゴリズムの開発に取り組む.具体的には,FPGA のオンチップメモリベースで実現される仮想的なマージソートツリーを既存研究の高スループットマージソートツリーの部分木に適用した新しいアーキテクチャを提案し,それをソーティングネットワークと組み合わせる.提案手法を実行するプロトタイプシステムをFPGA評価ボードを用いて構築し,ソートするデータ数やデータの分布を変化させた幾つかのソート処理を実行させ,提案手法の演算性能と電力効率を評価する.
|
Outline of Final Research Achievements |
This research took full advantage of the features of FPGAs, such as the ability to implement application-specific computation pipelines and data supply mechanisms, to develop hardware algorithms that perform sorting at high speed. Specifically, I proposed a new architecture that applies a virtual merge sorter tree utilizing on-chip memory to a sub-tree of the high-throughput merge sort tree of existing research, and combined the tree with a sorting network. We developed an OpenCL library that calls this sorting engine as a function, and evaluated its sorting performance. The evaluation result showed that the sorting perfomance of the proosed method was three orders of magnitude better than that of merge sort written in OpenCL.
|
Academic Significance and Societal Importance of the Research Achievements |
FPGAを用いた高性能計算手法は専門性の高いレジスタレベルでの設計が主流であり,その結果アプリケーション開発者はFPGAの使用を敬遠する傾向にあった.本研究においてもソーティングアルゴリズムはレジスタレベルで設計されているが,彼らに広く利用されることを見据え,ソーティングエンジンをOpenCL環境で呼び出せるようにライブラリ化した.すなわち,アプリケーション開発者が低レイヤな部分を意識することなく,高位言語の抽象度にとどまりながら,レジスタ転送レベルで最適化されたソートを整数型および浮動小数点型データの両方に対して実行できることを示した.また,成果物であるコードはオープンソースとして公開した.
|
Report
(5 results)
Research Products
(8 results)