[all-commits] [llvm/llvm-project] ea34d9: [OpenMP] Introduce GOMP teams support in runtime

Jonathan Peyton via All-commits all-commits at lists.llvm.org
Thu Sep 24 07:50:25 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ea34d95e0ad664fa879bb1d8b71f32928b1d6c0f
      https://github.com/llvm/llvm-project/commit/ea34d95e0ad664fa879bb1d8b71f32928b1d6c0f
  Author: Peyton, Jonathan L <jonathan.l.peyton at intel.com>
  Date:   2020-09-24 (Thu, 24 Sep 2020)

  Changed paths:
    M openmp/runtime/src/kmp_ftn_os.h
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/test/teams/teams.c

  Log Message:
  -----------
  [OpenMP] Introduce GOMP teams support in runtime

Implement GOMP_teams_reg() function which enables GOMP support of the
standalone teams construct. The GOMP_parallel* functions were modified
to call __kmp_fork_call() unconditionally so that the teams-specific
code could be reused within __kmp_fork_call() instead of reproduced
inside the GOMP_* functions.

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


  Commit: 72ada5ae6c5bcc53045eba559666a65a68149e4c
      https://github.com/llvm/llvm-project/commit/72ada5ae6c5bcc53045eba559666a65a68149e4c
  Author: Peyton, Jonathan L <jonathan.l.peyton at intel.com>
  Date:   2020-09-24 (Thu, 24 Sep 2020)

  Changed paths:
    M openmp/runtime/src/i18n/en_US.txt
    M openmp/runtime/src/kmp_gsupport.cpp
    A openmp/runtime/test/tasking/omp50_task_depend_mtx3.c

  Log Message:
  -----------
  [OpenMP] Introduce GOMP mutexinoutset in the runtime

Encapsulate GOMP task dependencies in separate class and introduce the
new mutexinoutset dependency type. This separate class allows
future GOMP task APIs easier access to the task dependency functionality
and better ability to propagate new dependency types to all existing GOMP
task APIs which use task dependencies.

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


  Commit: 9089b4a5c5b4271e6b8300cf5d7471d4ddd93bec
      https://github.com/llvm/llvm-project/commit/9089b4a5c5b4271e6b8300cf5d7471d4ddd93bec
  Author: Peyton, Jonathan L <jonathan.l.peyton at intel.com>
  Date:   2020-09-24 (Thu, 24 Sep 2020)

  Changed paths:
    M openmp/runtime/src/kmp_ftn_os.h
    M openmp/runtime/src/kmp_gsupport.cpp
    A openmp/runtime/test/tasking/omp50_taskwait_depend.c

  Log Message:
  -----------
  [OpenMP] Introduce GOMP taskwait depend in the runtime

This change introduces the GOMP_taskwait_depend() function. It implements
the OpenMP 5.0 feature of #pragma omp taskwait with depend() clause by
wrapping around __kmpc_omp_wait_deps().

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


  Commit: ee1c04a926904b34525e4577742d8c10a23db814
      https://github.com/llvm/llvm-project/commit/ee1c04a926904b34525e4577742d8c10a23db814
  Author: Peyton, Jonathan L <jonathan.l.peyton at intel.com>
  Date:   2020-09-24 (Thu, 24 Sep 2020)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    A openmp/runtime/test/tasking/taskdep_if0.c
    A openmp/runtime/test/tasking/taskdep_if0_2.c

  Log Message:
  -----------
  [OpenMP] Fix if0 task with dependencies in the runtime

The current GOMP interface for serialized tasks does not take into
account task dependencies. Add the check and wait for dependencies.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=46573

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


Compare: https://github.com/llvm/llvm-project/compare/00ee52ae0467...ee1c04a92690


More information about the All-commits mailing list