[all-commits] [llvm/llvm-project] 6a1d1f: [OpenMP] Added memory scope to atomic::inc API and...

dhruvachak via All-commits all-commits at lists.llvm.org
Fri Jun 30 12:05:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6a1d1f7eefe81faa1f7c6c47e8b9da0bfeb8c2e8
      https://github.com/llvm/llvm-project/commit/6a1d1f7eefe81faa1f7c6c47e8b9da0bfeb8c2e8
  Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
  Date:   2023-06-30 (Fri, 30 Jun 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/include/Synchronization.h
    M openmp/libomptarget/DeviceRTL/src/Reduction.cpp
    M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP] Added memory scope to atomic::inc API and used the device scope in reduction.

With https://reviews.llvm.org/D137524, memory scope and ordering
attributes are being used to generate the required instructions for
atomic inc/dec on AMDGPU. This patch adds the memory scope attribute to
the atomic::inc API and uses the device scope in reduction. Without
the device scope in atomic_inc, the default system scope leads to
unnecessary L2 write-backs/invalidates.

Reviewed By: arsenm

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




More information about the All-commits mailing list