On the optimization of memory access to increase the performance of spatial preprocessing techniques on graphics processing units
The use of spatial information prior to spectral unmixing of hyperspectral data is a very active research line in recent years. There are many approximations that consider spatial characteristics of the data in order to guide the endmember identification/extraction procedure. In particular, the spatial preprocessing (SPP) algorithm can be used prior to most existing spectral-based endmember identification techniques, thus promoting the selection of endmembers in spatially representative parts of the scene. The main concern regarding SPP and this kind of preprocessing techniques is that they are computational expensive, adding a significant burden to the spectral unmixing process which should be alleviated. In this paper we revisit and enhance a previously developed implementation of SPP for graphical processing units (GPUs) in order to increase its performance by exhaustively using the level one (L1)-cache level of the GPU. The performance of the proposed implementation is evaluated using an NVidiaTMGeForce GTX 580. Our experimental validation reveals that real-time processing performance can be obtained for real hyperspectral data sets collected by the Airborne Visible Infra-Red Imaging Spectrometer (AVIRIS).