CUDA BASED COMPUTATIONAL METHODS FOR MACROECONOMIC FORECASTS
Bogdan Oancea, Tudorel Andrei, Raluca Mariana Drăgoescu · RePEc: Research Papers in Economics · 2012
Parallel computing can offer an enormous advantage regarding the performance for very large applications in almost any field: economics, scientific computing, computer vision, databases, data mining. GPUs are high performance many-core processors that can obtain very high FLOP rates. Since the first idea of using GPU for general purpose computing, things have evolved and now there are several approaches to GPU programming: CUDA from NVIDIA and Stream from AMD. CUDA is now a popular programming model for general purpose computations on GPU for C/C++ programmers. In this paper we present an implementation of some iterative and direct linear systems solvers that use the CUDA programming model. Our CUDA library is used to solve macroeconometric models with forward-looking variables based on Newton method for nonlinear systems of equations. The most difficult step for Newton methods represents the resolution of a large linear system for each iteration. Our library implements LU factorization, Jacobi, Gauss-Seidel and non-stationary iterative methods (GMRES, BiCG, BiCGSTAB) using C-CUDA extension. We compare the performance of our CUDA implementation with classic programs written to be run on CPU. Our performance tests show speedups of approximately 80 times for single precision floating point and 40 times for double precision.