Global navigation satellite system reflectometry (GNSS-R) is a group of techniques that uses satellite navigation signals as signals of opportunity for remote sensing applications. In GNSS-R, large amounts of data are acquired and have to be processed. Computation time is typically the bottleneck for ground and airborne experiments. This article presents an efficient solution for off-line GNSS-R processing data taking advantage of graphics processing units (GPUs). After comparing to the typically used CPU languages, such as MATLAB and C++, the advantage of using parallel processing on the GPU is clear. GPU-based computation can reduce the processing time by as much as 95% of the acquisition time of the data. An implementation taking advantage of a home-use GPU is proposed for the data processing units. Thanks to its efficiency, even real-time processing experiments are feasible. Index Terms-Compute unified device architecture (CUDA), global navigation satellite system reflectometry (GNSS-R), graphics processing unit (GPU) processing, parallel computing, real-time processing. I. INTRODUCTION G RAPHICS processing units (GPUs) were initially designed to accelerate graphics computing. However, more recently, they have also been used to accelerate computation times of large amounts of data. In global navigation satellite system reflectometry (GNSS-R), large amounts of data have to be processed either in real-time or offline, and the computation time is a bottleneck. Common programming languages in academia, such as MATLAB [1], are too slow to process large amounts of data. GPU processing has already been applied to some GNSS receiver experiments [2], [3], and it has been used in GNSS-R for