Encyclopedia of GIS

Living Edition
| Editors: Shashi Shekhar, Hui Xiong, Xun Zhou

Cuda/GPU

Living reference work entry
DOI: https://doi.org/10.1007/978-3-319-23519-6_1606-1

Synonyms

Definition

A graphics processing unit (GPU) is an electronic circuit originally designed to accelerate real-time computation for computer graphics. As one component of the basic hardware inside a modern personal computer, the GPU is connected to the central processing unit (CPU) through a system bus. For the purpose of fast image rendering, which requires that the whole process of image rendering should be completed within one frame (typically 1/30 s), the GPU has been inherently designed as a highly parallelized processor containing many cores, high memory bandwidth, and single-instruction multiple-data (SIMD) execution (Lindholm et al., 2008; Garland and Kirk, 2010).

In recent years, the high performance of modern GPUs has motivated researchers to explore general-purpose computing on GPUs (GPGPUs). This has resulted in GPUs taking over the computational tasks traditionally performed by CPUs, especially...

Keywords

Graphic Processing Unit Central Processing Unit Compute Unify Device Architecture Streaming Multiprocessor Graphic Processing Unit Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in to check access.

References

  1. Bernabé S, Plaza A, Marpu PR et al (2012) A new parallel tool for classification of remotely sensed imagery. Comput Geosci 46:208–218CrossRefGoogle Scholar
  2. Brodtkorb AR, Hagen TR, Lie K-A et al (2010) Simulation and visualization of the Saint-Venant system using GPUs. Comput Vis Sci 13:341–353MathSciNetCrossRefzbMATHGoogle Scholar
  3. Cheng T (2013) Accelerating universal Kriging interpolation algorithm using CUDA-enabled GPU. Comput Geosci 54:178–183CrossRefGoogle Scholar
  4. Cruz FA, Layton SK, Barba LA (2011) How to obtain efficient GPU kernels: an illustration using FMM & FGT algorithms. Comput Phys Commun 182:2084–2098CrossRefGoogle Scholar
  5. Du P, Weber R, Luszczek P et al (2012) From CUDA to OpenCL: towards a performance-portable solution for multi-platform GPU programming. Parallel Comput 38:391–407CrossRefGoogle Scholar
  6. Feichtinger C, Habich J, Kostler H et al (2011) A flexible patch-based lattice Boltzmann parallelization approach for heterogeneous GPU-CPU clusters. Parallel Comput 37:536–549MathSciNetCrossRefGoogle Scholar
  7. Fort M, Sellares A, Valladares N (2014) A parallel GPU-based approach for reporting flock patterns. Int J Geogr Inf Sci 28(9):1877–1903CrossRefGoogle Scholar
  8. Garland M, Kirk DB (2010) Understanding throughput-oriented architectures. Commun ACM 53:58–66CrossRefGoogle Scholar
  9. Garland M, LeGrand S, Nickolls J et al (2008) Parallel computing experiences with CUDA. IEEE Micro 28(4):13–27CrossRefGoogle Scholar
  10. Kalyanapu AJ, Shankar S, Pardyjak ER et al (2011) Assessment of GPU computational enhancement to a 2D flood model. Environ Model Softw 26:1009–1016CrossRefGoogle Scholar
  11. Larsen ES, McAllister D (2001) Fast matrix multiplies using graphics hardware. Paper presented at Supercomputing, Denver, 10–16 Nov 2001Google Scholar
  12. Lindholm E, Nickolls J, Oberman S et al (2008) NVIDIA tesla: a unified graphics and computing architecture. IEEE Micro 28(2):39–55CrossRefGoogle Scholar
  13. Lukač N, Žalik B (2013) GPU-based roofs’ solar potential estimation using LiDAR data. Comput Geosci 52: 34–41CrossRefGoogle Scholar
  14. Munshi A (2012) The OpenCL specification (Version 1.2). Khronos OpenCL Working GroupGoogle Scholar
  15. Nickolls J, Buck I, Garland M et al (2008) Scalable parallel programming with CUDA. ACM Queue 6(2): 40–53CrossRefGoogle Scholar
  16. NVIDIA Corp. (2012) NVIDIA CUDA C programming guide (Version 4.2)Google Scholar
  17. Oryspayev D, Sugumaran R, DeGroote J et al (2012) LiDAR data reduction using vertex decimation and processing with GPGPU and multicore CPU technology. Comput Geosci 43:118–125CrossRefGoogle Scholar
  18. Owens JD, Luebke D, Govindaraju N et al (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113CrossRefGoogle Scholar
  19. Qin C-Z, Zhan L (2012) Parallelizing flow-accumulation calculations on Graphics Processing Units—from iterative DEM preprocessing algorithm to recursive multiple-flow-direction algorithm. Comput Geosci 43:7–16CrossRefGoogle Scholar
  20. Qin C-Z, Zhan L-J, Zhu A-X et al (2014) A strategy for raster-based geocomputation under different parallel computing platforms. Int J Geogr Inf Sci 28(11):2127–2144CrossRefGoogle Scholar
  21. Siewertsen E, Piwonski J, Slawig T (2013) Porting marine ecosystem model spin-up using transport matrics to GPUs. Geosci Model Dev 6:17–28CrossRefGoogle Scholar
  22. Singh B, Pardyjak ER, Norgren A et al (2011) Accelerating urban fast response Lagrangian dispersion simulations using inexpensive graphics processor parallelism. Environ Model Softw 26:739–750CrossRefGoogle Scholar
  23. Stone JE, Gohara D, Shi G (2010) OpenCL: a parallel programming standard for heterogeneous computing systems. Comput Sci Eng 12(3):66–73CrossRefGoogle Scholar
  24. Tang W (2013) Parallel construction of large circular cartograms using graphics processing units. Int J Geograph Inf Sci 27(11):2182–2206CrossRefGoogle Scholar
  25. Tang W, Bennett DA (2011) Parallel agent-based modeling of spatial opinion diffusion accelerated using graphics processing units. Ecol Model 222:3605–3615CrossRefGoogle Scholar
  26. Tristram D, Hughes D, Bradshaw K (2014) Accelerating a hydrological uncertainty ensemble model using graphics processing units (GPUs). Comput Geosci 62:178–186CrossRefGoogle Scholar

Authors and Affiliations

  1. 1.State Key Laboratory of Resources & Environmental Information SystemInstitute of Geographic Sciences & Natural Resources Research, Chinese Academy of SciencesBeijing P.R.China