[all-commits] [llvm/llvm-project] 94c772: [OpenMP] Support kernel record and replay

Giorgis Georgakoudis via All-commits all-commits at lists.llvm.org
Tue Jan 17 16:29:17 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 94c772dc923a63abc744c011db51cecfe80cf093
      https://github.com/llvm/llvm-project/commit/94c772dc923a63abc744c011db51cecfe80cf093
  Author: Giorgis Georgakoudis <georgakoudis1 at llnl.gov>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/src/exports
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/tools/CMakeLists.txt
    A openmp/libomptarget/tools/kernelreplay/CMakeLists.txt
    A openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [OpenMP] Support kernel record and replay

This patch adds functionality for recording and replaying the execution of OpenMP offload kernels, based on an original implementation by Steve Rangel. The patch extends libomptarget to extract a json description of the kernel, the device image binary, and a device memory snapshot before and after the execution of a recorded kernel. Kernel recording/replaying in libomptarget is controlled through env vars (LIBOMPTARGET_RECORD, LIBOMPTARGET_REPLAY). It provides a tool, llvm-omp-kernel-replay, for replaying a kernel using the extracted information with the ability to verify replayed execution using the post-execution device memory snapshot, also supporting changing the number of teams/threads for replaying.

Reviewed By: jdoerfert

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




More information about the All-commits mailing list