llvm-project/openmp/runtime/cmake
Jonathan Peyton 01dcf36bd5 Adding Hwloc library option for affinity mechanism
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
2015-11-30 20:02:59 +00:00
..
LibompCheckFortranFlag.cmake Re-indent the CMake refactor to two-space indention 2015-07-15 16:57:19 +00:00
LibompCheckLinkerFlag.cmake [CMake] Fix libomp_check_linker_flag function 2015-07-23 14:41:35 +00:00
LibompDefinitions.cmake [OpenMP] [CMake] Removing expand-vars.pl in favor of CMake's configure_file() 2015-08-28 18:42:10 +00:00
LibompExports.cmake Re-indent the CMake refactor to two-space indention 2015-07-15 16:57:19 +00:00
LibompGetArchitecture.cmake Re-indent the CMake refactor to two-space indention 2015-07-15 16:57:19 +00:00
LibompHandleFlags.cmake Adding Hwloc library option for affinity mechanism 2015-11-30 20:02:59 +00:00
LibompMicroTests.cmake Adding Hwloc library option for affinity mechanism 2015-11-30 20:02:59 +00:00
LibompUtils.cmake Re-indent the CMake refactor to two-space indention 2015-07-15 16:57:19 +00:00
config-ix.cmake Adding Hwloc library option for affinity mechanism 2015-11-30 20:02:59 +00:00