A High Throughput FPGA-based Floating Point Conjugate Gradient Implementation
A High Throughput FPGA-based Floating Point Conjugate Gradient Implementation
复制标题
基于 FPGA 的高吞吐量浮点共轭梯度实现
DOI:
10.1007/978-3-540-78610-8_10
复制
发表时间:
2008
期刊:
影响因子:
--
通讯作者:
G. Constantinides
中科院分区:
文献类型:
--
作者:
Antonio Roldao Lopes;G. Constantinides
As Field Programmable Gate Arrays (FPGAs) have reached capacities beyond millions of equivalent gates, it becomes possible to accelerate floating-point scientific computing applications. One type of calculation that is commonplace in scientific computation is the solution of systems of linear equations. A method that has proven in software to be very efficient and robust for finding such solutions is the Conjugate Gradient algorithm. In this paper we present a parallel hardware Conjugate Gradient implementation. The implementation is particularly suited for accelerating multiple small to medium sized dense systems of linear equations. Through parallelization it is possible to convert the computation time per iteration for an order nmatrix from i¾?(n2) cycles for a software implementation to i¾?(n). I/O requirements are scalable and converge to a constant value with the increase of matrix order. Results on a VirtexII-6000 demonstrate sustained performance of 5 GFLOPS and projected results on a Virtex5-330 indicate sustained performance of 35 GFLOPS. The former result is comparable to high-end CPUs, whereas the latter represents a significant speedup.