[Bug libgomp/86088] #pragma omp parallel for freezes if other processes are running

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jun 8 07:26:00 GMT 2018


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.


More information about the Gcc-bugs mailing list