[all-commits] [llvm/llvm-project] 4753a4: [OpenMP] asynchronous memory copy support

Jan Patrick Lehr via All-commits all-commits at lists.llvm.org
Thu Mar 30 12:15:33 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4753a4e31169800277c09a59b2181ba3d4ddd683
      https://github.com/llvm/llvm-project/commit/4753a4e31169800277c09a59b2181ba3d4ddd683
  Author: Jisheng Zhao <invalid>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M openmp/libomptarget/include/interop.h
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/exports
    M openmp/libomptarget/src/private.h
    A openmp/libomptarget/test/api/omp_target_memcpy_async1.c
    A openmp/libomptarget/test/api/omp_target_memcpy_async2.c
    A openmp/libomptarget/test/api/omp_target_memcpy_rect_async1.c
    A openmp/libomptarget/test/api/omp_target_memcpy_rect_async2.c

  Log Message:
  -----------
  [OpenMP] asynchronous memory copy support

We introduced the implementation of supporting asynchronous routines with depend objects specified in Version 5.1 of the OpenMP Application Programming Interface. In brief, these routines omp_target_memcpy_async and omp_target_memcpy_rect_async perform asynchronous (nonblocking) memory copies between any
combination of host and device pointers. The basic idea is to create the implicit tasks to carry the memory copy calls and handle dependencies specified by depend objects. The implicit tasks are executed via hidden helper thread in OpenMP runtime.

Reviewed By: jdoerfert, tianshilei1992
Committed By: jplehr

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




More information about the All-commits mailing list