Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Parallel Implementation of Pixel Purity Index for a GPU cluster

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

C4187f9cd1f03aa1619b269218883910?s=128

CETA-Ciemat

June 25, 2013
Tweet

Transcript

  1. José M. Franco, Jorge Sevilla and Antonio J. Plaza International

    Conference on Computational and Mathematical Methods in Science and Engineering Almería, 2013 Parallel implementation of Pixel Purity Index for a GPU cluster
  2. Outline Parallel implementation of Pixel Purity Index for a GPU

    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
  3. Introduction Parallel implementation of Pixel Purity Index for a GPU

    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
  4. Objective Parallel implementation of Pixel Purity Index for a GPU

    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,…)
  5. Hyperspectral images Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  6. Hyperspectral images Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  7. Unmixing problem Parallel implementation of Pixel Purity Index for a

    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”.
  8. Endmembers Parallel implementation of Pixel Purity Index for a GPU

    cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  9. Linear mixing model Parallel implementation of Pixel Purity Index for

    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
  10. Linear mixing model Parallel implementation of Pixel Purity Index for

    a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  11. Outline Parallel implementation of Pixel Purity Index for a GPU

    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
  12. Pixel Purity Index Parallel implementation of Pixel Purity Index for

    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
  13. Pixel Purity Index Parallel implementation of Pixel Purity Index for

    a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  14. Pixel Purity Index Parallel implementation of Pixel Purity Index for

    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.
  15. Outline Parallel implementation of Pixel Purity Index for a GPU

    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
  16. What is a GPU cluster? Parallel implementation of Pixel Purity

    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
  17. CETA-CIEMAT GPU cluster Parallel implementation of Pixel Purity Index for

    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)
  18. CETA-CIEMAT GPU cluster Parallel implementation of Pixel Purity Index for

    a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  19. CETA-CIEMAT GPU cluster Parallel implementation of Pixel Purity Index for

    a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  20. Outline Parallel implementation of Pixel Purity Index for a GPU

    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
  21. Implementation details Parallel implementation of Pixel Purity Index for a

    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
  22. Implementation details Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Data partition schema Spectral Spatial Hybrid
  23. Implementation details Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Data partition schema Spectral Spatial Hybrid All spectral values in the same node
  24. Implementation details Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  25. Implementation details Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  26. Outline Parallel implementation of Pixel Purity Index for a GPU

    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
  27. Test description Parallel implementation of Pixel Purity Index for a

    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
  28. Test description Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 • Compared implementations: – Sequential – Computer cluster (CPUs only – 15 nodes) – GPU – GPU cluster (2 GPUs per node – 15 nodes) • All versions compiled with param –O3
  29. Test description Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Cuprite Lago St. Clair Yellowstone
  30. Output comparison Parallel implementation of Pixel Purity Index for a

    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
  31. Output comparison Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 ENVI output GPU cluster output
  32. Output comparison Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 ENVI output GPU cluster output Kaolinite Alunite Calcite Kaolinite Alunite Calcite
  33. Performance results Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Yellowstone Sequential Cluster GPU GPU cluster Time (sec.) 83316,717722 5834,629652 N/A 66,799286 Speed-up 1x 14,27x N/A 1262,37x Cuprite Sequential Cluster GPU GPU cluster Time (sec.) 1319,944515 92,411848 25,810000 8,354137 Speed-up 1x 14,28x 51,14x 157,99x Lake St. Clair Sequential Cluster GPU GPU cluster Time (sec.) 5018,109371 345,361966 91,340000 11,197010 Speed-up 1x 14,53x 54,94x 448,17x
  34. Outline Parallel implementation of Pixel Purity Index for a GPU

    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
  35. Conclusions Parallel implementation of Pixel Purity Index for a GPU

    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
  36. Future work Parallel implementation of Pixel Purity Index for a

    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
  37. Acknowledgments Parallel implementation of Pixel Purity Index for a GPU

    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
  38. Acknowledgments Parallel implementation of Pixel Purity Index for a GPU

    cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 CAPAP-H4 NETWORK
  39. Thanks for your attention Any question? Parallel implementation of Pixel

    Purity Index for a GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013
  40. Contact info Parallel implementation of Pixel Purity Index for a

    GPU cluster Franco J.M., Sevilla J. and Plaza A.J. – CMMSE 2013 Authors José M. Franco – josemiguel.franco@ciemat.es Jorge Sevilla – jorgesece@unex.es Antonio J. Plaza – aplaza@unex.es Institutions http://www.ceta-ciemat.es http://www.unex.es/investigacion/grupos/hypercomp @CETA_CIEMAT @uexcomunicacion