[all-commits] [llvm/llvm-project] 4fe17a: [OpenMP] Fix hierarchical barrier

Terry Wilmarth via All-commits all-commits at lists.llvm.org
Wed Jan 13 08:24:34 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4fe17ada55ade9b77e18521dae0985cb4a88f6c4
      https://github.com/llvm/llvm-project/commit/4fe17ada55ade9b77e18521dae0985cb4a88f6c4
  Author: Terry Wilmarth <terry.l.wilmarth at intel.com>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M openmp/runtime/src/kmp_barrier.cpp
    M openmp/runtime/test/barrier/omp_barrier.c

  Log Message:
  -----------
  [OpenMP] Fix hierarchical barrier

Hierarchical barrier is an experimental barrier algorithm that uses aspects
of machine hierarchy to define the barrier tree structure. This patch fixes
offset calculation in hierarchical barrier. The offset is used to store info
on a flag about sleeping threads waiting on a location stored in the flag.
This commit also fixes a potential deadlock in hierarchical barrier when
using infinite blocktime by adjusting the offset value of leaf kids so that
it matches the value of leaf state. It also adds testing of default barriers
with infinite blocktime, and also tests hierarchical barrier algorithm with
both default and infinite blocktime.

Patch by Terry Wilmarth and Nawrin Sultana.

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




More information about the All-commits mailing list