Skip to main content

A Portable and Unified CPU/GPU Parallel Implementation of Surface Normal Generation Algorithm from 3D Terrain Data

  • Conference paper
  • First Online:
Advances in Visual Computing (ISVC 2016)

Part of the book series: Lecture Notes in Computer Science ((LNIP,volume 10073))

Included in the following conference series:

  • 1788 Accesses

Abstract

The Multi-mission Instrument Processing Lab (MIPL) is responsible for developing much of the ground support software for the Mars missions. The MIPL pipeline is used to generate several products from a one mega-pixel image within a 30 min time constraint. In future missions, this time constraint will be decreased to five minutes for 20 mega-pixels images, requiring a minimum 120 times speed-up from current operational hardware and software. Moreover, any changes to the current software must preserve the source code’s maintainability and portability for future missions. Therefore, the surface normal generation software has been implemented on a Graphical Processing Unit (GPU) through the use of the NVidia CUDA Toolkit and Hemi Library to allow for minimum code complexity. Several changes have been made to Hemi Library to allow for additional optimizations of the GPU code. In addition, several challenges to developing a parallelized GPU implementation of the surface normal generation algorithm are explored, while both tested and prospective solutions to these problems are described.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Alexander, D.A., Deen, R.G., Andres, P.M., Zamani, P., Mortensen, H.B., Chen, A.C., Cayanan, M.K., Hall, J.R., Klochko, V.S., Pariser, O., Stanley, C.L., Thompson, C.K., Yagi, G.M.: Processing of mars exploration rover imagery for science and operations planning. J. Geophys. Res. Planets 111 (2006)

    Google Scholar 

  2. Alexander, D.A., Deen, R.G.: Mars Science Laboratory Project Software Interface Specification (SIS); Camera & LIBS Experiment Data Record (EDR) and Reduced Data Record (RDR) Data Products, version 3.0. (NASA Planetary Data System)

    Google Scholar 

  3. Deen, R.G., Lorre, J.J.: Seeing in three dimensions: correlation and triangulation of mars exploration rover imagery. In: 2005 IEEE International Conference on Systems, Man and Cybernetics, vol. 1, pp. 911–916 (2005)

    Google Scholar 

  4. NVIDIA: CUDA Toolkit (2016). https://developer.nvidia.com/cuda-toolkit

  5. Harris, M.: Hemi (2016). https://github.com/harrism/hemi

  6. Wienke, S., Springer, P., Terboven, C., Mey, D.: OpenACC — first experiences with real-world applications. In: Kaklamanis, C., Papatheodorou, T., Spirakis, P.G. (eds.) Euro-Par 2012. LNCS, vol. 7484, pp. 859–870. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32820-6_85

    Chapter  Google Scholar 

  7. Wu, J., Deng, L., Jeon, G., Jeong, J.: GPU-parallel interpolation using the edge-direction based normal vector method for terrain triangular mesh. J. Real-Time Image Prola. 1–10 (2016)

    Google Scholar 

  8. Orts-Escolano, S., Morell, V., Garcia-Rodriguez, J., Cazorla, M., Fisher, R.B.: Real-time 3d semi-local surface patch extraction using GPGPU. J. Real-Time Image Proc. 10, 647–666 (2015)

    Article  Google Scholar 

  9. Cohen, J., Molemaker, M.J.: A fast double precision CFD code using CUDA. In: Recent Advances and Future Directions, Parallel Computational Fluid Dynamics, pp. 414–429 (2009)

    Google Scholar 

  10. Jang, B., Schaa, D., Mistry, P., Kaeli, D.: Exploiting memory access patterns to improve memory performance in data-parallel architectures. IEEE Trans. Parallel Distrib. Syst. 22, 105–118 (2011)

    Article  Google Scholar 

  11. Rösler, U.: A limit theorem for quicksort. Informatique théorique et applications 25, 85–100 (1991)

    MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

The material in this paper is based upon work supported by the NASA MUREP ASTAR program under grant number NNX15AU31H. This support does not necessarily imply endorsement by NASA. A portion of this work was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by the United States Government or the Jet Propulsion Laboratory, California Institute of Technology.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alireza Tavakkoli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Wilson, B., Deen, R., Tavakkoli, A. (2016). A Portable and Unified CPU/GPU Parallel Implementation of Surface Normal Generation Algorithm from 3D Terrain Data. In: Bebis, G., et al. Advances in Visual Computing. ISVC 2016. Lecture Notes in Computer Science(), vol 10073. Springer, Cham. https://doi.org/10.1007/978-3-319-50832-0_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-50832-0_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-50831-3

  • Online ISBN: 978-3-319-50832-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics