Summary
We present the parallelization of a commercial streamline simulator to
multicore architectures based on the OpenMP programming model and its
performance on various field examples. This work is a continuation of recent
work by Gerritsen et al. (2009) in which a research streamline simulator was
extended to parallel execution.
We identified that the streamline-transport step represents approximately
40-80% of the total run time. It is exactly this step that is straightforward
to parallelize owing to the independent solution of each streamline that is at
the heart of streamline simulation. Because we are working with an existing
large serial code, we used specialty software to quickly and easily identify
variables that required particular handling for implementing the parallel
extension. Minimal rewrite to existing code was required to extend the
streamline-transport step to OpenMP. As part of this work, we also parallelized
additional run-time code, including the gravity-line solver and some simple
routines required for constructing the pressure matrix. Overall, the run-time
fraction of code parallelized ranged from 0.50 to 0.83, depending on the
transport physics being considered.
We tested our parallel simulator on a variety of large models including SPE
10, Forties--a UK oil/water model, Judy Creek--a Canadian
waterflood/water-alternating-gas (WAG) model, and a South American black-oil
model. We noted overall speedup factors from 1.8 to 3.3x for eight threads. In
terms of real time, this implies that large-scale streamline simulation models
as tested here can be simulated in less than 4 hours. We found speedup results
to be reasonable when compared with Amdahl's ideal scaling law. Beyond eight
threads, we observed minimal speedups because of memory bandwidth limits on our
test machine.
© 2010. Society of Petroleum Engineers
View full textPDF
(
683 KB
)
History
- Original manuscript received:
4 November 2008
- Meeting paper published:
3 February 2009
- Revised manuscript received:
19 June 2009
- Manuscript approved:
30 July 2009
- Published online:
7 June 2010
- Version of record:
22 June 2010