[Openmp-commits] [PATCH] D13991: Adding Hwloc library option for affinity mechanism.
Jonathan Peyton via Openmp-commits
openmp-commits at lists.llvm.org
Thu Oct 22 12:03:35 PDT 2015
jlpeyton created this revision.
jlpeyton added reviewers: AndreyChurbanov, tlwilmar, hfinkel.
jlpeyton added a subscriber: openmp-commits.
jlpeyton set the repository for this revision to rL LLVM.
These changes allow libhwloc to be used as the topology discovery/affinity mechanism for libomp.
It is supported on Unices. The code additions:
1) Canonicalize KMP_CPU_* interface macros so bitmask operations are implementation
independent and work with both hwloc bitmaps and libomp bitmaps. So there are new KMP_CPU_ALLOC_* and KMP_CPU_ITERATE() macros
and the like. These are all in kmp.h and appropriately placed.
2) Hwloc topology discovery code in kmp_affinity.cpp. This uses the hwloc
interface to create a libomp address2os object which the rest of libomp
knows how to handle already.
3) To build, use -DLIBOMP_USE_HWLOC=on and -DLIBOMP_HWLOC_INSTALL_DIR=/path/to/install/dir [default /usr/local]. If CMake can't find the library or hwloc.h, then it will tell you and exit.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 57765 bytes
Desc: not available
More information about the Openmp-commits