Abstract
This article presents a parallel simulation solver for groundwater flow on CUDA. Preconditioned conjugate gradient (PCG) algorithm is used to solve the large linear systems arising from the finite-difference discretization of three-dimensional groundwater flow problems. CUDA implementing methods for the two most time-consuming operations in PCG, sparse matrix–vector multiplication and vector inner-product, are given. The experimental results show that CUDA can speed up the solving process of the groundwater simulation significantly. 1.8–3.7 speedup can be achieved with different GPUs for a transient groundwater flow problem.
Similar content being viewed by others
References
Mills RT et al (2007) Simulating subsurface flow and transport on ultrascale computers using pflotran. J Phys Conf Series 78(1):012051
Wu Y-S, Zhang K, Ding C, Pruess K, Elmroth E, Bodvarsson GS (2002) An efficient parallel-computing method for modeling nonisothermal multiphase flow and multicomponent transport in porous and fractured media. Adv Water Resour 25(3):243–261
Saied F, Mahinthakumar G (1998) Efficient parallel multigrid based solvers for large scale groundwater flow simulations. Comput Math Appl 35(7):45–54
Harbaugh AW, Banta ER, Hill MC, Mcdonald MG (2000) Modflow-2000, the U. S. Geological survey modular ground-water model-user guide to modularization concepts and the ground-water flow process. US Geological Survey OpenFile Report 0092
Dong Y, Li G (2009) A parallel pcg solver for modflow. Ground Water 47(6):845–850. doi:10.1111/j.1745-6584.2009.00598.x
Owens J, Houston M, Luebke D, Green S, Stone J, Phillips J (2008) Gpu computing. Proc IEEE 96(5):879–899. doi:citeulike-article-id:2767438
NVIDIA (2009) Nvidia cudatm programming guide version 2.2
Kirk DB, W-mW Hwu (2010) Programming massively parallel processors: a hands-on approach, 1st edn. Morgan Kaufmann, Burlington
Xue Y, Xie C (2007) Numerical simulation for groundwater, 1st edn. Science, Beijing
Barrett R (1994) Templates for the solution of linear systems: Building blocks for iterative methods. Society for Industrial Mathematics, Philadelphia
Shewchuk J (1994) An introduction to the conjugate gradient method without the agonizing pain. Technical report CS-94–125. Carnegie Mellon University, Pittsburgh
Ian J, Farmer I, Grinspun E, Schrder P (2003) Sparse matrix solvers on the gpu: conjugate gradients and multigrid. ACM Trans Graph 22:917–924
NVIDIA (2009) Cuda cublas library version 2.2
Vuduc RW (2003) Automatic performance tuning of sparse matrix kernels. University of California, Berkeley
Baskaran M, Bordawekar R (2009) Optimizing sparse matrix-vector multiplication on gpus. IBM Research Report RC24704, IBM
Goumas G, Kourtis K, Anastopoulos N, Karakasis V, Koziris N (2009) Performance evaluation of the sparse matrix-vector multiplication on modern architectures. J Supercomput 50(1):36–77
Cheng T, Ji X, Wang Q (2009) An efficient parallel method for large-scale groundwater flow equation based on petsc. Paper presented at the 2009 IEEE youth conference on information, computing and telecommunications
Acknowledgments
The authors are thankful for the help from Prof. Xusheng Wang. This research is supported in part by the Fundamental Research Funds for the Central Universities of China.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ji, X., Cheng, T. & Wang, Q. CUDA-based solver for large-scale groundwater flow simulation. Engineering with Computers 28, 13–19 (2012). https://doi.org/10.1007/s00366-011-0213-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00366-011-0213-2