Hyperspectral Unmixing on GPUs and Multi-Core Processors: A Comparison

Sergio Bernabe, Sergio Sanchez, Antonio Plaza, Sebastian Lopez, Jon Atli Benediktsson, Roberto Sarmiento
Hyperspectral Computing Laboratory, Department of Technology of Computers and Communications, University of Extremadura, E-10003 Caceres, Spain
IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2013

   title={Hyperspectral Unmixing on GPUs and Multi-Core Processors: A Comparison},

   author={Bernabe, Sergio and Sanchez, Sergio and Plaza, Antonio and Lopez, Sebastian and Benediktsson, Jon Atli and Sarmiento, Roberto},



Download Download (PDF)   View View   Source Source   



One of the main problems in the analysis of remotely sensed hyperspectral data cubes is the presence of mixed pixels, which arise when the spatial resolution of the sensor is not able to separate spectrally distinct materials. Due to this reason, spectral unmixing has become one of the most important tasks for hyperspectral data exploitation. However, unmixing algorithms can be computationally very expensive, a fact that compromises their use in applications under real-time constraints. For this purpose, in this paper we develop two efficient implementations of a full hyperspectral unmixing chain on two different kinds of high performance computing architectures: graphics processing units (GPUs) and multi-core processors. The proposed full unmixing chain is composed for three stages: (i) estimation of the number of pure spectral signatures or endmembers, (ii) automatic identification of the estimated endmembers, and (iii) estimation of the fractional abundance of each endmember in each pixel of the scene. The two computing platforms used in this work are inter-compared in the context of hyperspectral unmixing applications. The GPU implementation of the proposed methodology has been implemented using the compute devide unified architecture (CUDA) and the cuBLAS library, and tested on two different GPU architectures: NVidia GeForce GTX 580 and NVidia Tesla C1060. It provides real-time unmixing performance in two different analysis scenarios using hyperspectral data collected by NASA’s Airborne Visible Infra-Red Imaging Spectrometer (AVIRIS) over the Cuprite mining district in Nevada and the World Trade Center complex in New York City. The multi-core implementation, developed using the applications program interface (API) OpenMP and the Intel Math Kernel Library (MKL) used for matrix multiplications, achieved near real-time performance in the same scenarios. A comparison of both architectures in terms of performance, cost and mission payload considerations is given based on the results obtained in the two considered data analysis scenarios.
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

* * *

* * *

* * *

Free GPU computing nodes at hgpu.org

Registered users can now run their OpenCL application at hgpu.org. We provide 1 minute of computer time per each run on two nodes with two AMD and one nVidia graphics processing units, correspondingly. There are no restrictions on the number of starts.

The platforms are

Node 1
  • GPU device 0: nVidia GeForce GTX 560 Ti 2GB, 822MHz
  • GPU device 1: AMD/ATI Radeon HD 6970 2GB, 880MHz
  • CPU: AMD Phenom II X6 @ 2.8GHz 1055T
  • RAM: 12GB
  • OS: OpenSUSE 13.1
  • SDK: nVidia CUDA Toolkit 6.5.14, AMD APP SDK 3.0
Node 2
  • GPU device 0: AMD/ATI Radeon HD 7970 3GB, 1000MHz
  • GPU device 1: AMD/ATI Radeon HD 5870 2GB, 850MHz
  • CPU: Intel Core i7-2600 @ 3.4GHz
  • RAM: 16GB
  • OS: OpenSUSE 12.2
  • SDK: AMD APP SDK 2.9

Completed OpenCL project should be uploaded via User dashboard (see instructions and example there), compilation and execution terminal output logs will be provided to the user.

The information send to hgpu.org will be treated according to our Privacy Policy

HGPU group © 2010-2015 hgpu.org

All rights belong to the respective authors

Contact us: