Retinex is an image restoration method that can restore the image's original appearance. The Retinex algorithm utilizes a Gaussian blur convolution with large kernel size to compute the center/surround information. Then a log-domain processing between the original image and the center/surround information is performed pixel-wise. The final step of the Retinex algorithm is to normalize the results of log-domain processing to an appropriate dynamic range. This paper presents a GPURetinex algorithm, which is a data parallel algorithm devised by parallelizing the Retinex based on GPGPU/CUDA. The GPURetinex algorithm exploits GPGPU's massively parallel architecture and hierarchical memory to improve efficiency. The GPURetinex algorithm is a parallel method with hierarchical threads and data distribution. The GPURetinex algorithm is designed and developed optimized parallel implementation by taking full advantage of the properties of the GPGPU/CUDA computing. In our experiments, the GT200 GPU and CUDA 3.0 are employed. The experimental results show that the GPURetinex can gain 30 times speedup compared with CPU-based implementation on the images with 2048 x 2048 resolution. Our experimental results indicate that using CUDA can achieve acceleration to gain real-time performance.© (2011) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.