Parallel Implementation of Pixel Purity Index for a GPU cluster
Slides for the work presented at the International Conference on Computational and Mathematical Methods in Science and Engineering. Almería (Spain), 2013
Conference on Computational and Mathematical Methods in Science and Engineering Almería, 2013 Parallel implementation of Pixel Purity Index for a GPU cluster
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Introduction and objective Pixel Purity Index Our GPU cluster Implementation details Results Conclusions and future work
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Collaborate on the efficient processing of remotely sensed hyperspectral images on HPC architectures
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Parallel implementation of a remote sensing algorithm for a GPU cluster Motivation • No previous implementation available • Good results in parallel versions for GPU • Execution time is critical (fire detection, waste control, military target detection,…)
GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Related to data interpretation • Hyperspectral images contain “mixed” pixels – Value composed by combination of spectrally pure substances or endmembers Involves • Determination of endmembers. • Unmixing “mixed pixels”.
a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Each pixel is modeled as a linear combination of spectrally pure pixels Comportamiento lineal = ∗ Endmembers matrix Material proportion Constraints ≥ 0 and = 1
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Introduction and objective Pixel Purity Index Our GPU cluster Implementation details Results Conclusions and future work
a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Detection of spectrally pure pixels. • Developed by Boardman, Kruse and Green (1993). • Included in commercial software (ENVI). • Only spectral data is considered. • Pixel projections onto random unit vectors (aka. skewers). – Maxima projections pixels are selected
a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • High computational complexity – Calculation of pixel projections. • Easy parallelization – No dependencies among iterations.
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Introduction and objective Pixel Purity Index Our GPU cluster Implementation details Results Conclusions and future work
Index for a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 A GPU cluster is a computer cluster in which each node is equipped with at least one GPU Cray Xk7 (USA) – Nº 2 TOP 500
a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Located at Trujillo (Extremadura, Spain) • Used by researchers in Genomics, HEP, MD, Hyperspectral image analysis, … • Two environments: – Test: 17 nodes w/ 2 x Nvidia Tesla C1060 (Tesla) – Production: 32 nodes w/ 2 x Nvidia Tesla C2050/C2070 (Fermi)
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Introduction and objective Pixel Purity Index Our GPU cluster Implementation details Results Conclusions and future work
GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Communication pattern master-worker – Master node computes – GPUs from each node execute the algorithm • Spatial partitioning of the source image • Mersenne-Twister (GSL library) used for skewer generation
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Introduction and objective Pixel Purity Index Our GPU cluster Implementation details Results Conclusions and future work
GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Three real images used (AVIRIS): – Cuprite, Nevada (USA) 44 MB – Lake St. Clair, Michigan (USA) 222 MB – Yellowstone, Wyoming (USA) 4 GB • Number of skewers: 15.360
GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Test the algorithm in a real case – Mineral detection • Output comparison – ENVI vs. GPU cluster – Is the same group of pixels selected? • Cuprite image – It is widely used as a reference in the field – Location of minerals is well-known
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Introduction and objective Pixel Purity Index Our GPU cluster Implementation details Results Conclusions and future work
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • PPI implementation for a GPU cluster – It can be used for real cases. – It is not an alternative to on-board processing (image must be transferred to cluster) – Suitable for large image repository processing • First implementation of a hyperspectral image analysis algorithm for a GPU cluster
GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • New optimizations (cuBLAS, skewers generation on GPU, …) • Implementation of other endmember extraction algorithms (OSP, N-FINDR, …) • Implementation of heterogeneous computing techniques (benchmarking) • Performance evaluation vs. OpenMP implementation (multicore CPUs) • Integration on content based image retrieval systems
cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 CETA-CIEMAT acknowledges the support received from the European Regional Development Fund through its operational program Knowledge-Based Economy
GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Authors José M. Franco – [email protected] Jorge Sevilla – [email protected] Antonio J. Plaza – [email protected] Institutions http://www.ceta-ciemat.es http://www.unex.es/investigacion/grupos/hypercomp @CETA_CIEMAT @uexcomunicacion