Equation-of-state (EOS) based compositional simulations accurately capture the dynamics of reservoirs with strong compositional effects. One of the major computational bottlenecks in such simulations is the need to enforce the phase equilibrium constraint for the hydrocarbon system for every grid block in the model. These constraints must be enforced at every time step and possibly, at every nonlinear iteration level within each time step for implicit methods. Hence, detailed simulations of models with many millions of cells and a large number of hydrocarbon components are prohibitively time-consuming. However, the high computational intensity and parallelism exhibited by these calculations make them ideal for significant acceleration using high throughput devices such as Graphics Processing Units (GPUs). In this study, we propose new techniques for accelerating the EOS-based phase equilibrium calculations on the GPUs. First, we make full use of the large number of fast registers and floating point units available on GPUs for the double-precision arithmetic , thereby significantly accelerating the equilibrium calculations. Second, we exploit the fast hardware intrinsics available for single precision to further increase the performance. By iteratively combining the single and double-precision calculations, we not only achieve the full accuracy of double-precision but also gain an order-of-magnitude speedup over using double-precision arithmetic alone. Accuracy and performance results from several benchmark problems available in the literature will be provided to demonstrate the speedup achieved using our proposed techniques. The performance results will then be compared with the recently published timings generated using highly optimized code on the CPUs. We will discuss the implications of such performance gains on the selection of implicit algorithms for the full compositional flow simulation.


Article metrics loading...

Loading full text...

Full text loading...

This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error