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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
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)
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)
NVIDIA: CUDA Toolkit (2016). https://developer.nvidia.com/cuda-toolkit
Harris, M.: Hemi (2016). https://github.com/harrism/hemi
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
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)
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)
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)
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)
Rösler, U.: A limit theorem for quicksort. Informatique théorique et applications 25, 85–100 (1991)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)