複数のソート済みデータ列を1つにマージするデータパス
図は 4-way MergeSorter Tree
ソート対象のデータ列が入力数より多い場合は複数回通す必要
Merge Sorter Tree
11
参考: A high performance sorting architecture exploiting run-time reconfiguration on fpgas for large problem sorting.
(Dirk Koch and Jim Torresen, FPGA ’11,)
>
>
> > Comparator
Short FIFO
入力レーン
=
way
4種類の評価環境 – ComputerD
33
Core Duo T2400
@1.83GHz
1GB DDR2 Memory
Only supports USB2.0
34.
0
2
4
6
8
10
12
CPU FPGA CPUFPGA CPU FPGA CPU FPGA
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
評価―int型32M個のソーティング
34
35.
0
2
4
6
8
10
12
CPU FPGA CPUFPGA CPU FPGA CPU FPGA
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
分析
35
性能向上不可能
通信時間 > CPUにおけるソーティング時間
36.
0
2
4
6
8
10
12
CPU FPGA CPUFPGA CPU FPGA CPU FPGA
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
分析
36
通信時間
大幅減
USB3.0で
性能向上
37.
4.12 3.27 8.673.28
0
2
4
6
8
10
CPU FPGA CPU FPGA
Computer A Computer B
ElapsedTime[s]
評価 @USB3.0環境
37
2.64x
Faster
1.26x
Faster
Merge Sorter Treeを32-wayに拡張しComputer AのCPU比
1.88倍の高速化達成
様々な環境で
使える