Abstract
Reservoir simulation role in value creation and strategic management decisions cannot be over emphasized. Simulation of complex challenging reservoirs with millions of grid blocks especially in compositional mode is very time-consuming even with fast modern computers. On the other hand, high price of cluster supercomputers prevents them for being commonly used for fast simulation of such reservoirs. In recent years, the development of many-core processors like cell processors, DSPs, and graphical processing units (GPUs) has provided a very cost-effective hardware platform for fast computational operations. However, programming for such processors is much more difficult than conventional CPUs, and new parallel algorithm design and special parallel implementation methods are needed. Using the computational power of CPUs, GPUs, and/or any other processing unit, Open Computing Language (OpenCL) provides a framework for programming for heterogeneous platforms. In this paper, OpenCL is used to employ the computational power of a GPU to build a preconditioner and solve the linear system arising from compositional formulation of multiphase flow in porous media. The proposed parallel preconditioner is proved to be quite effective, even in heterogeneous porous media. Using data-parallel modules on GPU, the preconditioner/solver runtime reduced at least 1 order of magnitude compared to their serial implementation on CPU.
Similar content being viewed by others
References
Advanced Micro Devices: Programming guide: AMD accelerated parallel processing OpenCL TM. Advanced Micro Devices, Inc., p. 26 (2012)
Appleyard, J.R., Appleyard, J.D.: Accelerating reservoir simulation using GPU technology. Paper SPE 141402 presented at the 2011 SPE Reservoir Simulation Symposium, The Woodlands, TX (February 21–23, 2011)
Bayat, M., Killough, J., E.: “An experimental study of GPU acceleration for reservoir simulation”. Paper SPE 163628 presented at the 2013 SPE Reservoir Simulation Symposium, The Woodlands, TX (February 18-20, 2013)
Branco, M.C., Rodriguez, F.: A semi-implicit formulation for compositional reservoir simulation. SPE Adv. Tech. 4(1), 171–177 (1996)
Chow, E., Saad, Y.: Approximate inverse preconditioners via sparse-sparse iterations. SIAM J. Sci. Comput. 19(3), 995–1023 (1998)
Coats, K.H.: An equation of state compositional model. SPE J. 20(5), 363–376 (1980)
Chen, Z.: Reservoir Simulation: Mathematical Techniques in Oil Recovery, pp 164–165. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (2007)
Dzyuba, V.I., Bogachev, K.Y., Bogaty, A.S., Lyapin, A.R., Mirgasimov, A.R., Semenko, A.E.: Advances in modeling of giant reservoirs. Paper SPE 163090 presented at the 2012 Mathematical Methods in Fluid Dynamics and Simulation of Giant Oil and Gas Reservoirs, Istanbul, Turkey (September 3–5, 2012)
Gupta, K., Stuart, J.A., Owens, J.D.: A study of persistent threads style GPU programming for GPGPU workloads. Paper presented at the IEEE INPAR (Innovative Parallel Computing) Foundations and applications of GPU, Many-Core and Heterogeneous Systems, held in San Jose, CA (May 13–14, 2012)
Gustafson, J.L.: Reevaluating Amdahl’s law. Comm. ACM 31(5), 532–533 (1988)
Khronos Group: OpenCL—the open standard for parallel programming of heterogeneous systems. http://www.khronos.org/opencl/. Accessed 16 Dec 2012
Killough, J., Cossack, C.: Fifth comparative solution project: evaluation of miscible flood simulators. Paper SPE 16000 presented at the 1987 SPE Symposium on Reservoir Simulation, San Antonio, TX (1–4 February, 1987)
Klie, H., Sudan, H., Li, R., Saad, Y.: Exploiting capabilities of many core platforms in reservoir simulation. Paper SPE 141265 presented at the 2011 SPE Reservoir Simulation Symposium, The Woodlands, TX (February 21–23, 2011)
Lyashevsky, A.: Efficient dot product implementation using persistent threads. AMD Developer Central. http://developer.amd.com/community/blog/efficient-dot-product-implementation-using-persistent-threads/ (2012). Accessed 27 June 2013
Naimi-Tajdar, R., Han, C., Sepehrnoori, K., Arbogast, T.J., Miller, M.A.: A fully implicit, compositional, parallel simulator for IOR processes in fractured reservoirs. SPE J. 12(3), 367–381 (2007)
Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. Society for Industrial and Applied Mathematics (SIAM) pp. 92–93 (2003)
Van der Vorst, H.A.: Bi-CGSTAB: a fast and smoothly converging variant of Bi-CG for the solution of nonsymmetric linear systems. SIAM J. Sci. Comput. 13(2), 631–644 (1992)
Wang, P., Balay S., Sepehrnoori, K., Wheeler, J., Abate, J., Smith, B., Pope, G.A.: A fully implicit parallel EOS compositional simulator for large scale reservoir simulation. Paper SPE 51885 presented at the 1997 SPE Reservoir Simulation Symposium, Dallas, TX (June 8–11, 1997)
Wang, P., Sepehrnoori, K.: Parallel compositional reservoir simulation on a cluster of PCs. Int. J. High Perform. Comput. Appl. 15(1), 13–21 (2001)
Yu, S., Hui, L., Chen, Z., Hsieh, B., Shao, L.: GPU-based parallel reservoir simulation for large-scale simulation problems. Paper SPE 152271 presented at the 2012 EAGE Annual Conference & Exhibition incorporating SPE EUROPEC held in Copenhagen, Denmark (June 4–7, 2012)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Khaz’ali, A.R., Rasaei, M.R. & Moghadasi, J. Mixed precision parallel preconditioner and linear solver for compositional reservoir simulation. Comput Geosci 18, 729–746 (2014). https://doi.org/10.1007/s10596-014-9421-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10596-014-9421-3