[all-commits] [llvm/llvm-project] 2a539e: [OpenMP][libomptarget] Implement memory lock/unloc...

Kevin Sala Penadés via All-commits all-commits at lists.llvm.org
Tue Jan 24 15:12:16 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a539ee17d8a6f0e4b99e1f8e8df593500b9154b
      https://github.com/llvm/llvm-project/commit/2a539ee17d8a6f0e4b99e1f8e8df593500b9154b
  Author: Kevin Sala <kevin.sala at bsc.es>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins

This patch implements the memory lock/unlock API, introduced in patch https://reviews.llvm.org/D139208,
in the NextGen plugins. Locked buffers feature reference counting and we allow certain overlapping. Given
an already locked buffer A, other buffers that are fully contained inside A can be locked again, even if
they are smaller than A. In this case, the reference count of locked buffer A will be incremented. However,
extending an existing locked buffer is not allowed. The original buffer is actually unlocked once all its
users have released the locked buffer and sub-buffers (i.e., the reference counter becomes zero).

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




More information about the All-commits mailing list