Comparative analysis of parallel algorithms for solving oil recovery problem using CUDA and OpenCL

Document Type : Research Paper


1 Yessenov University‎, ‎Aktau‎, ‎Kazakhstan

2 Al-Farabi Kazakh National University‎, ‎Almaty‎, ‎Kazakhstan

3 Al-Farabi Kazakh National University, Almaty‎, ‎Kazakhstan


‎In this paper the implementation of parallel algorithm of alternating direction implicit (ADI) method has been considered‎. ‎ADI parallel algorithm is used to solve a multiphase multicomponent fluid flow problem in porous media‎. ‎There are various technologies for implementing parallel algorithms on the CPU and GPU for solving hydrodynamic problems‎. ‎In this paper GPU-based (graphic processor unit) algorithm was used‎. ‎To implement the GPU-based parallel ADI method‎, ‎CUDA and OpenCL were used‎. ‎ADI is an iterative method used to solve matrix equations‎. ‎To solve the tridiagonal system of equations in ADI method‎, ‎the parallel version of cyclic reduction (CR) method was implemented‎. ‎The cyclic reduction is a method for solving linear equations by repeatedly splitting a problem as a Thomas method‎. ‎To implement of a sequential algorithm for solving the oil recovery problem‎, ‎the implicit Thomas method was used‎. ‎Thomas method or tridiagonal matrix algorithm is used to solve tridiagonal systems of equations‎. ‎To test parallel algorithms personal computer installed Nvidia RTX 2080 graphic card with 8 GB of video memory was used‎. ‎The computing results of parallel algorithms using CUDA and OpenCL were compared and analyzed‎. ‎The main purpose of this research work is a comparative analysis of the parallel algorithm computing results on different technologies‎, ‎in order to show the advantages and disadvantages each of CUDA and OpenCL for solving oil recovery problems‎.


[1] D.Zh. Akhmed-Zaki, B.S. Daribayev, T.S. Imankulov and O.N. Turar, High-performance computing of oil recovery problem on a mobile platform using CUDA technology, Eurasian J. Math. Comput. Appl. 5 (2017) 4–13.
[2] D.Zh. Akhmed-Zaki, T.S. Imankulov, B. Matkerim, B.S. Daribayev, K.A. Aidarov and O.N. Turar, Large-scale simulation of oil recovery by surfactant-polymer flooding, Eurasian J. Math. Comput. Appl. 4 (2016) 12–31.
[3] R. Banger and K. Bhattacharyya, OpenCL Programming by Example, Packt Publishing, 2013.
[4] J. Bear, Dynamics of Fluids in Porous Media, New York: Dover, 1972.
[5] V. Casulli and R. Cheng, Semi-implicit finite difference methods for three-dimensional shallow water flow, Int. J. Numerical Meth. Fluids 15 (2005) 629–648.
[6] Z. Chen, Reservoir Simulation: Mathematical Techniques in Oil Recovery, Society for Industrial and Applied Mathematics, 2007.
[7] J. Cheng, M. Grossman and T. McKercher, Professional CUDA C Programming, Wrox, 1st edition, 2014.
[8] Sh. Cook, CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs (Applications of GPU Computing), 1st edition, Morgan Kaufmann, 2012.
[9] S. Cook, CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs (Applications of GPU Computing), Morgan Kaufmann, 1st edition, 2012.
[10] A. Davidson and J. Owens, Register packing for cyclic reduction: a case study, Proc. Fourth Workshop on General Purpose Processing on Graphics Processing Units, ACM, 2011.
[11] A. Davidson, Y. Zhang and J. Owens, An auto-tuned method for solving large tridiagonal systems on the GPU, Parallel & Distributed Processing Symposium (IPDPS), IEEE Int. (2011) 956–965.
[12] N. Ellner and E. Wachspress, Alternating direction implicit iteration for systems with complex spectra, SIAM J. Numerical Anal. 28 (1991) 859–870.
[13] D. Goddeke and R. Strzodka, Cyclic reduction tridiagonal solvers on GPUs applied to mixed-precision multigrid, Parallel Distributed Syst. IEEE Trans. 22(1) (2011) 22–32.
[14] J. Han and B. Sharma, Learn CUDA Programming: A beginner’s guide to GPU programming and parallel computing with CUDA 10.x and C/C++, Packt Publishing, 2019.
[15] N. Hecquet, Parallel Calculus in CUDA: Heat equation, Black and Scholes Model, Editions universitaires eu- ´rop´eennes, 2019.
[16] T.S. Imankulov, D.Zh. Akhmed-Zaki, B.S. Daribayev and et al., Intellectual system for analysing thermal compositional modelling with chemical reactions, 16th European Conference on the Mathematics of Oil Recovery,2018.
[17] T.S. Imankulov, D.Zh. Akhmed-Zaki, B.S. Daribayev and O.N. Turar, HPC Mobile Platform for Solving Oil Recovery Problem, Proceedings of the 13th International Conference on Informatics in Control, Automation and Robotics (ICINCO 2016). 2 (2016) 595–598.
[18] B. Jang, D. Kaeli, S. Do, H. Pien, Multi GPU implementation of iterative tomographic reconstruction algorithms, IEEE Int. Symp. Biomedical Imaging: From Nano to Macro. (2009) 185–188.
[19] D.R. Kaeli, P. Mistry, D. Schaa, D. Zhang, Heterogeneous Computing with OpenCL 2.0, 3rd Edition, Morgan Kaufmann, 2015.
[20] M. Kass, A. Lefohn, J.D. Owens, Interactive depth of field using simulated diffusion, Technical Report 06-01, Pixar Animation Studios, 2006.
[21] M. Kass, G. Miller, Rapid, stable fluid dynamics for computer graphics, Computer Graphics (Proceedings of SIGGRAPH 90), (1990) 49—57.
[22] H. Kim, S. Wu, L. Chang, W. Hwu, A scalable tridiagonal solver for GPUs, Parallel Processing (ICPP), Int. Conf. IEEE. (2011) 444–453.
[23] J. Kowalik, T. Puzniakowski, Using OpenCL: Programming Massively Parallel Computers (Advances in Parallel Computing), IOS Press, Har/Cdr edition, 2012.
[24] I. Lindemuth, J. Killeen, Alternating direction implicit techniques for two-dimensional magnetohydrodynamic calculations, Journal of Computational Physics. 13 (1972) 181–208.
[25] J.J.Martin, Cubic Equations of State, EC Fundamentals, 1979.
[26] A. Munshi, OpenCL Programming Guide, Addison-Wesley Professional, 1st edition, 2011.
[27] T. Namiki, A new FDTD algorithm based on alternating-direction implicit method, Microwave Theory and Techniques, IEEE Transactions on 47. (1999) 2003–2007.
[28] D. Peaceman and H. Rachford, The numerical solution of parabolic and elliptic differential equations, Journal of the Society for Industrial & Applied Mathematics. 3 (1955) 28–41.
[29] K.S.Pederson and P.L. Christensen, Phase Behavior of Petroleum Reservoir Fluids, CRC Press, 2008.
[30] D.Y. Peng and D.B. Robinson, A new two-constant equation of state, Industrial and Engineering Chemistry Fundamentals. 15 (1976) 59—64.
[31] R.C. Reid, J.M. Prausnitz and T.K. Sherwood, The Properties of Gases and Liquids 3rd edition, New York: McGraw-Hill, 1977.
[32] N. Sakharnykh, Effcient tridiagonal solvers for ADI methods and fluid simulation, NVIDIA GPU Technology Conference, 2010.
[33] N. Sakharnykh, Tridiagonal solvers on the GPU and applications to fluid simulation, GPU Technology Conference, 2009.
[34] J. Sanders and E. Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, AddisonWesley Professional, 1st edition, 2010.
[35] S. Sengupta, M. Harris, Y. Zhang and J.D. Owens, Scan primitives for GPU computing, Graphics Hardware, ACM, New York. (2007) 97-–106.
[36] G. Soave, Equilibrium constants from a modified Redlich-Kwong equation of state, Chem. Eng. Sci. 27 (1972) 1197—1203.
[37] D. Storti and M. Yurtoglu, CUDA for Engineers: An Introduction to High-Performance Parallel Computing, Addison-Wesley Professional, 1st edition, 2015.
[38] R. Tay, OpenCL Parallel Programming Development Cookbook, Packt Publishing. 2013.
[39] L.H. Thomas, Elliptic Problems in Linear Differential Equations over a Network, Watson Sci. Comput. Lab Report. 1949.
[40] W. Wu, Computational river dynamics, CRC. 2007.
[41] Y. Zhang, J. Cohen, A. Davidson and J. Owens, A hybrid method for solving tridiagonal systems on the GPU, GPU Computing Gems Jade Edition, 2011.
[42] Y. Zhang, J. Cohen and J. Owens, Fast tridiagonal solvers on the GPU, ACM Sigplan Notices 45 (2010) 127–136.
[43] Y. Zhang and Y. Jia, Parallelization of implicit CCHE2D model using CUDA programming techniques, World Envir. Water Resour. Cong. (2013) 1777–1792.
[44] Y. Zhang and Y. Jia, Parallelized CCHE2D model with CUDA Fortran on graphics process units, Comput. Fluids 2013 (2013) 359–368.
[45] D. Zudkevitch and J. Joffe, Correlation and prediction of vapor-liquid equilibria with the Redlich-Kwong equation of state, Amer. Inst. Chem. Engin. J. 16 (1970) 112—199.
Volume 12, Issue 1
May 2021
Pages 351-364
  • Receive Date: 10 October 2020
  • Revise Date: 25 January 2021
  • Accept Date: 27 January 2021