This is an archive of the discontinued LLVM Phabricator instance.

Fix for CMPLRS-48319 proc_bind affinity bug
ClosedPublic

Authored by jlpeyton on Dec 17 2018, 3:09 PM.

Details

Summary

Using proc_bind clause on a nested #pragma omp parallel region
with KMP_AFFINITY set causes an assertion error. This assertion occurs because
the place-partition-var is not properly initialized in the nested master threads.
Trying to get an intuitive result with KMP_AFFINITY + proc_bind is difficult
because of how the KMP_AFFINITY gtid-to-place mapping occurs. This
patch creates an initial place list no matter what affinity mechanism is used.
For KMP_AFFINITY, the place-partition-var is initialized to all the places.

Diff Detail

Repository
rL LLVM

Event Timeline

jlpeyton created this revision.Dec 17 2018, 3:09 PM
This revision is now accepted and ready to land.Dec 21 2018, 11:54 AM
This revision was automatically updated to reflect the committed changes.