This is an archive of the discontinued LLVM Phabricator instance.

Address default pinning OpenMP process with multiple processor groups
ClosedPublic

Authored by jlpeyton on May 15 2017, 1:13 PM.

Details

Summary

This change checks if the initial affinity mask is equal to exactly one Windows processor group's affinity
mask. If it is, then the code does not respect the initial affinity mask and uses the entire machine instead.
The reasoning behind this is that, by default, Windows assigns exactly one processor group as the initial affinity mask
even when there are multiple Windows processor groups available. User's typically want to use the whole
machine, so we ignore this special case and use the entire machine.

If the initial affinity mask is a proper subset of one group, or spans multiple
groups, then the initial affinity mask is respected since we can assume that the operating system did not
assign this initial affinity mask. This change only affects machines with multiple processor groups

Diff Detail

Repository
rL LLVM

Event Timeline

jlpeyton created this revision.May 15 2017, 1:13 PM
This revision is now accepted and ready to land.May 31 2017, 1:17 PM
This revision was automatically updated to reflect the committed changes.