Experiences with implementing common mathematical operations using field programmable gate arrays
David James Warne, Neil A. Kelson, Jonathan Kok, Timothy Gurnett, Ulrich Rueckert · QUT ePrints (Queensland University of Technology) · 2012
Many computationally intensive scientific applications involve repetitive floating point operations other than addition and multiplication which may present a significant performance bottleneck due to the relatively large latency or low throughput involved in executing such arithmetic primitives on commodity processors. A promising alternative is to execute such primitives on Field Programmable Gate Array (FPGA) hardware acting as an application-specific custom co-processor in a high performance reconfigurable computing platform. The use of FPGAs can provide advantages such as fine-grain parallelism but issues relating to code development in a hardware description language and efficient data transfer to and from the FPGA chip can present significant application development challenges. In this paper, we discuss our practical experiences in developing a selection of floating point hardware designs to be implemented using FPGAs. Our designs include some basic mathematical library functions which can be implemented for user defined precisions suitable for novel applications requiring non-standard floating point representation. We discuss the details of our designs along with results from performance and accuracy analysis tests.