Skip to content
  • Jonathan Peyton's avatar
    Adding Hwloc library option for affinity mechanism · 01dcf36b
    Jonathan Peyton authored
    These changes allow libhwloc to be used as the topology discovery/affinity
    mechanism for libomp.  It is supported on Unices. The code additions:
    * 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.
    * 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.
    * 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.
    
    Differential Revision: http://reviews.llvm.org/D13991
    
    llvm-svn: 254320
    01dcf36b
Loading