opm-simulators icon indicating copy to clipboard operation
opm-simulators copied to clipboard

Ghost entries skipped for ILU apply and SpMV operator in all levels of AMG/CPR hierarchy

Open lisajulia opened this issue 1 year ago • 19 comments

Replacement for #4296

lisajulia avatar Feb 12 '24 10:02 lisajulia

jenkins build this please

lisajulia avatar Feb 12 '24 10:02 lisajulia

jenkins build this please

lisajulia avatar Feb 12 '24 11:02 lisajulia

Fortunately, no time stepping changes and hence failed tests. Just new warnings that need to be removed.

blattms avatar Feb 12 '24 12:02 blattms

jenkins build this please

lisajulia avatar Feb 12 '24 13:02 lisajulia

jenkins build this please

lisajulia avatar Feb 12 '24 14:02 lisajulia

benchmark please

lisajulia avatar Feb 12 '24 15:02 lisajulia

@blattms: I believe the last comment "benchmark please" did not have any effect - can you show me where I can check that?

lisajulia avatar Feb 12 '24 17:02 lisajulia

jenkins build this please

lisajulia avatar Feb 12 '24 17:02 lisajulia

turns out you can't. I asked Michael to whitelist you and @aritorto. It is "benchmark please" and should be used scarcely. We cannot really see whether it worked. Normally the benchmarking report is added to the PR after a few hours, but currently that is broken, too.

blattms avatar Feb 12 '24 18:02 blattms

benchmark please

blattms avatar Feb 12 '24 18:02 blattms

Benchmark result overview:

Test Configuration Relative
opm-git OPM Benchmark: drogon - Threads: 1 0.999
opm-git OPM Benchmark: drogon - Threads: 8 0.997
opm-git OPM Benchmark: punqs3 - Threads: 1 1.007
opm-git OPM Benchmark: punqs3 - Threads: 8 1.003
opm-git OPM Benchmark: smeaheia - Threads: 1 0.965
opm-git OPM Benchmark: smeaheia - Threads: 8 1
opm-git OPM Benchmark: spe10_model_1 - Threads: 1 1.013
opm-git OPM Benchmark: spe10_model_1 - Threads: 8 1.004
opm-git OPM Benchmark: flow_mpi_extra - Threads: 1 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_extra - Threads: 8 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_norne - Threads: 1 0.991
opm-git OPM Benchmark: flow_mpi_norne - Threads: 8 1.006
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 1 1.008
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 8 0.998
  • Speed-up = Total time master / Total time pull request. Above 1.0 is an improvement. *

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

ytelses avatar Feb 13 '24 02:02 ytelses

Benchmark result overview:

Test Configuration Relative
opm-git OPM Benchmark: drogon - Threads: 1 1.005
opm-git OPM Benchmark: drogon - Threads: 8 0.816
opm-git OPM Benchmark: punqs3 - Threads: 1 1.002
opm-git OPM Benchmark: punqs3 - Threads: 8 0.988
opm-git OPM Benchmark: smeaheia - Threads: 1 0.955
opm-git OPM Benchmark: smeaheia - Threads: 8 0.885
opm-git OPM Benchmark: spe10_model_1 - Threads: 1 1.008
opm-git OPM Benchmark: spe10_model_1 - Threads: 8 0.998
opm-git OPM Benchmark: flow_mpi_extra - Threads: 1 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_extra - Threads: 8 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_norne - Threads: 1 0.99
opm-git OPM Benchmark: flow_mpi_norne - Threads: 8 0.956
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 1 1.001
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 8 0.931
  • Speed-up = Total time master / Total time pull request. Above 1.0 is an improvement. *

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

ytelses avatar Feb 13 '24 10:02 ytelses

Benchmark result overview:

Test Configuration Relative
opm-git OPM Benchmark: drogon - Threads: 1 1.003
opm-git OPM Benchmark: drogon - Threads: 8 0.992
opm-git OPM Benchmark: punqs3 - Threads: 1 0.991
opm-git OPM Benchmark: punqs3 - Threads: 8 1.012
opm-git OPM Benchmark: smeaheia - Threads: 1 0.969
opm-git OPM Benchmark: smeaheia - Threads: 8 1.001
opm-git OPM Benchmark: spe10_model_1 - Threads: 1 1.002
opm-git OPM Benchmark: spe10_model_1 - Threads: 8 1.001
opm-git OPM Benchmark: flow_mpi_extra - Threads: 1 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_extra - Threads: 8 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_norne - Threads: 1 0.995
opm-git OPM Benchmark: flow_mpi_norne - Threads: 8 1.001
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 1 0.995
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 8 0.993
  • Speed-up = Total time master / Total time pull request. Above 1.0 is an improvement. *

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

ytelses avatar Feb 13 '24 20:02 ytelses

Benchmark result overview:

Test Configuration Relative
opm-git OPM Benchmark: drogon - Threads: 1 0.998
opm-git OPM Benchmark: drogon - Threads: 8 0.992
opm-git OPM Benchmark: punqs3 - Threads: 1 0.989
opm-git OPM Benchmark: punqs3 - Threads: 8 1.009
opm-git OPM Benchmark: smeaheia - Threads: 1 0.969
opm-git OPM Benchmark: smeaheia - Threads: 8 1.001
opm-git OPM Benchmark: spe10_model_1 - Threads: 1 1.019
opm-git OPM Benchmark: spe10_model_1 - Threads: 8 1.005
opm-git OPM Benchmark: flow_mpi_extra - Threads: 1 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_extra - Threads: 8 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_norne - Threads: 1 1.006
opm-git OPM Benchmark: flow_mpi_norne - Threads: 8 1.005
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 1 0.999
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 8 0.993
  • Speed-up = Total time master / Total time pull request. Above 1.0 is an improvement. *

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

ytelses avatar Feb 14 '24 05:02 ytelses

Looks like no change in the benchmarks, which is as expected, since they all run using the default linear solver (i.e. ILU0 preconditioner, no CPR/AMG) I believe.

atgeirr avatar Feb 14 '24 08:02 atgeirr

Looks like no change in the benchmarks, which is as expected, since they all run using the default linear solver (i.e. ILU0 preconditioner, no CPR/AMG) I believe.

Yes that makes sense. Curretly, I'm still waiting for Andreas to get back to me with the measurements he has done previously.

lisajulia avatar Feb 20 '24 07:02 lisajulia

Looks like no change in the benchmarks, which is as expected, since they all run using the default linear solver (i.e. ILU0 preconditioner, no CPR/AMG) I believe.

Yes that makes sense. Curretly, I'm still waiting for Andreas to get back to me with the measurements he has done previously.

New results using the current master (N = number of processes, simulation time in seconds for normal and skipping ghost) below, for 32 and 64 processes the improvement is still around 5% and for 128 processes, the improvement is still around 10%!

N normal skip ghost
32 1043.34 1006.81
64 820.60 773.49
128 589.27 541.67
256 still running still running

lisajulia avatar Mar 15 '24 07:03 lisajulia

jenkins build this please

lisajulia avatar Mar 15 '24 13:03 lisajulia

jenkins build this please

lisajulia avatar Apr 17 '24 14:04 lisajulia

jenkins build this please

lisajulia avatar Jun 07 '24 11:06 lisajulia

benchmark please

lisajulia avatar Jun 07 '24 11:06 lisajulia

Seems like there is a compilation error.

blattms avatar Jun 07 '24 11:06 blattms

jenkins build this please

lisajulia avatar Jun 07 '24 12:06 lisajulia

@blattms: now it's green :)

lisajulia avatar Jun 07 '24 14:06 lisajulia

We would like to merge this. This might change parallel cpr a bit. I am not sure whether this will interfere with #5157 . Comments @steink , @GitPaean ?

blattms avatar Jun 07 '24 14:06 blattms

I think it's preferable to merge anything in the pipeline before https://github.com/OPM/opm-simulators/pull/5157. I'm also hoping to get in a few improvements prior to https://github.com/OPM/opm-simulators/pull/5157

steink avatar Jun 10 '24 08:06 steink

Perfect. Merging.

blattms avatar Jun 10 '24 11:06 blattms