[all-commits] [llvm/llvm-project] 5cc603: [OpenMP] Add skewed iteration distribution on hybr...

Jonathan Peyton via All-commits all-commits at lists.llvm.org
Wed Nov 8 08:19:51 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5cc603cb2244bb46683e4ce801fdf224aa2d1636
      https://github.com/llvm/llvm-project/commit/5cc603cb2244bb46683e4ce801fdf224aa2d1636
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2023-11-08 (Wed, 08 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_dispatch.cpp
    M openmp/runtime/src/kmp_dispatch.h
    M openmp/runtime/src/kmp_global.cpp
    M openmp/runtime/test/worksharing/for/omp_for_schedule_dynamic.c

  Log Message:
  -----------
  [OpenMP] Add skewed iteration distribution on hybrid systems (#69946)

This commit adds skewed distribution of iterations in
nonmonotonic:dynamic schedule (static steal) for hybrid systems when
thread affinity is assigned. Currently, it distributes the iterations at
60:40 ratio. Consider this loop with dynamic schedule type,
for (int i = 0; i < 100; ++i). In a hybrid system with 20 hardware
threads (16 CORE and 4 ATOM core), 88 iterations will be assigned to
performance cores and 12 iterations will be assigned to efficient cores.
Each thread with CORE core will process 5 iterations + extras and with
ATOM core will process 3 iterations.

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




More information about the All-commits mailing list