"Scientific Computing Beyond CPUs: FPGA Implementations of Common Scientific Kernels"
Melissa C. Smith, Jeffrey S. Vetter, and Sadaf R. Alam
Oak Ridge National Laboratory
Reconfigurable Computing architectures consisting of FPGAs or similar programmable devices have been used in embedded systems for a number of years where integer and fixed point arithmetic are prevalent. Recently the logic capacity of these programmable devices has grown dramatically making 64b floating-point operations feasible and thus their use in scientific and high performance computing intriguing. We are using the SRC MAPstation to explore reconfigurable computing for computationally demanding scientific workloads at Oak Ridge National Laboratory. Our approach uses a high-level programming interface to the FPGAs, namely C and FORTRAN, which allows for straightforward porting of legacy code to the reconfigurable computing platform. In this paper, we present our results for some common Basic Linear Algebra Subroutine (BLAS) kernels running on the SRC MAPstation. These routines have very little or no data reuse, hence their performance on standard cache based systems is poor for large problem sizes. Due to the inherent parallelism of FPGAs and tightly coupled memory and computational units, the MAPstation performance is sustainable even for large problem sizes. We describe our algorithm analysis, programming paradigm, code migration techniques, and performance results. We also present our plans for a function library of commonly used scientific kernel implementations (i.e. BLAS, sparse matrix operations, FFTs, etc.) suitable for use on the MAPstation and in the future, other reconfigurable computing platforms.
2005 MAPLD International Conference Home Page