This had a significant performance impact on Blue Waters (from 14 M/hr to 17 M/hr).
We need to check the following systems:
Please edit this text, appending e.g. "(done)" when a machine has been checked.
Can hwloc be given a parameter to abort with an error message if the thread binding is not correct? If it doesn't know what should be correct, this could be passed in using some environment variables. This would simplify the testing.
Yes, such a parameter would be possible. It is in general not clear (without experimentation) which thread bindings are optimal, but we can flag the really bad cases where processes are not bound to the correct socket.