[all-commits] [llvm/llvm-project] 99f596: [OpenMP] Let primary thread gather topology info f...

Jonathan Peyton via All-commits all-commits at lists.llvm.org
Tue Aug 22 13:57:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 99f5969565c3d8b7a731d9579e0dcf921bfc9478
      https://github.com/llvm/llvm-project/commit/99f5969565c3d8b7a731d9579e0dcf921bfc9478
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_barrier.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/z_Linux_util.cpp
    M openmp/runtime/src/z_Windows_NT_util.cpp

  Log Message:
  -----------
  [OpenMP] Let primary thread gather topology info for each worker thread

This change has the primary thread create each thread's initial mask
and topology information so it is available immediately after
forking. The setting of mask/topology information is decoupled from the
actual binding. Also add this setting of topology information inside the
__kmp_partition_places mechanism for OMP_PLACES+OMP_PROC_BIND.

Without this, there could be a timing window after the primary
thread signals the workers to fork where worker threads have not yet
established their affinity mask or topology information.

Each worker thread will then bind to the location the primary thread
sets.

Differential Revision: https://reviews.llvm.org/D156727




More information about the All-commits mailing list