Closed soehag closed 2 months ago
It seems that the sensitivity calculation ignores the global thread count and uses its own local thread setting.
please add: ert.fop._core.setThreadCount(1)
which sets both .. the global and the local thread count setting.
Multi threading (MT) for the forward calculation comes only from the OpenBlas implementation which is used by the cholmod solver.
If you want this MT for the forward calculation again, you can set the global thread count again with
pg.setThreadCount(1)
We will resort and clean this if we have some more time ... until then, hopefully the manual settings might help.
Cheers, Carsten
Manual settings definetly do for now! Thank you for the quick answer - works like a charm ;)
Cheers Hagen
Problem description
Hello everyone. While running some large scale ERT inversions with the ERT-manager on a shared computing cluster, I noticed that limiting the ThreadCounts doesnt work for the whole inversion. It appears, that the forward modelling (calculating the response) correctly respects the set thread count whereas the calculation of the jacobian would always allocate as much CPUs as the system has. I reproduced the example on my local machine.
Your environment
Date: Thu Feb 22 18:38:29 2024 CET
Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0]
Steps to reproduce
Tell us how to reproduce this issue. Ideally, you could paste the code that produces the error:
Expected behavior
Set thread-count should be valid for all calculations.
Actual behavior
Calculation of jacobian matrix does display, all 8 CPUS were used. For the response no message is available in the logs. A log for the response would not be bad either.