https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86088

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
You are oversubscribing the machine this way in multiple processes and aren't
using OMP_DYNAMIC=true or omp_set_dynamic to even adjust it based on load
average (not that it would help in this case, because once a particular number
of threads is decided, it needs to be kept until a parallel with a different
num_threads etc. appears, not the case here, and the checks for loadavg might
happen in this case quite concurrently and not notice the oversubscribing yet).
 So it is all about the OMP_WAIT_POLICY or GOMP_SPINCOUNT in this case, for
oversubscribed case you want to lower the spincount and at the expense of
bigger latencies.
So just use OMP_WAIT_POLICY=passive or GOMP_SPINCOUNT=some_low_number.

Reply via email to