OPM / opm-material

Provides thermodynamic relations, capillary pressure curves, etc.
Other
15 stars 51 forks source link

changed: avoid long vectors of shared ptrs #488

Closed akva2 closed 2 years ago

akva2 commented 2 years ago

this use a lot of memory with many elements.

For a case I'm looking at this brought memory usage down from 58.9GB (61GB peak) to 47.3GB (which is also the peak).

akva2 commented 2 years ago

jenkins build this please

alfbr commented 2 years ago

benchmark please

blattms commented 2 years ago

I guess the numbers are for a serial run or are we doing the computation on the unloadbalanced grid?

akva2 commented 2 years ago

it's all serial. even though parallel does this for local cells only, the overhead is still there of course.

akva2 commented 2 years ago

Added some more commits that brings it down to 46.5949GB. Another big gain can be had by disabling the non-conditional diffusion storage in the intensive quantities, but that is separate.

akva2 commented 2 years ago

jenkins build this opm-simulators=3743 please

ytelses commented 2 years ago

Benchmark result overview:

Test Configuration Relative
opm-git OPM Benchmark: flow_mpi_extra - Threads: 1 0.99
opm-git OPM Benchmark: flow_mpi_norne - Threads: 1 1
opm-git OPM Benchmark: flow_mpi_norne - Threads: 8 1.014
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 1 1.001
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 8 1.013

View result details @ https://www.ytelses.com/opm/?page=result&id=1446

alfbr commented 2 years ago

These are very impressive gains! Needless to say, we really look forward to seeing these improvements in master :-)

atgeirr commented 2 years ago

Read through, looks good, merging!