[all-commits] [llvm/llvm-project] ec8f4a: [OpenMP][Libomptarget] Introduce Remote Offloading...

Atmn Patel via All-commits all-commits at lists.llvm.org
Tue Jan 26 12:34:16 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ec8f4a38c83eefc51be4f8cc39f93cc79116aab5
      https://github.com/llvm/llvm-project/commit/ec8f4a38c83eefc51be4f8cc39f93cc79116aab5
  Author: Atmn Patel <atmndp at gmail.com>
  Date:   2021-01-26 (Tue, 26 Jan 2021)

  Changed paths:
    M openmp/docs/SupportAndFAQ.rst
    M openmp/docs/design/Runtimes.rst
    M openmp/libomptarget/plugins/CMakeLists.txt
    M openmp/libomptarget/plugins/exports
    A openmp/libomptarget/plugins/remote/CMakeLists.txt
    A openmp/libomptarget/plugins/remote/include/Utils.h
    A openmp/libomptarget/plugins/remote/include/openmp.proto
    A openmp/libomptarget/plugins/remote/lib/Utils.cpp
    A openmp/libomptarget/plugins/remote/server/CMakeLists.txt
    A openmp/libomptarget/plugins/remote/server/OffloadingServer.cpp
    A openmp/libomptarget/plugins/remote/server/Server.cpp
    A openmp/libomptarget/plugins/remote/server/Server.h
    A openmp/libomptarget/plugins/remote/src/CMakeLists.txt
    A openmp/libomptarget/plugins/remote/src/Client.cpp
    A openmp/libomptarget/plugins/remote/src/Client.h
    A openmp/libomptarget/plugins/remote/src/rtl.cpp
    M openmp/libomptarget/src/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP][Libomptarget] Introduce Remote Offloading Plugin

This introduces a remote offloading plugin for libomptarget. This
implementation relies on gRPC and protobuf, so this library will only
build if both libraries are available on the system. The corresponding
server is compiled to `openmp-offloading-server`.

This is a large change, but the only way to split this up is into RTL/server
but I fear that could introduce an inconsistency amongst them.

Ideally, tests for this should be added to the current ones that but that is
problematic for at least one reason. Given that libomptarget registers plugin
on a first-come-first-serve basis, if we wanted to offload onto a local x86
through a different process, then we'd have to either re-order the plugin list
in `rtl.cpp` (which is what I did locally for testing) or find a better
solution for runtime plugin registration in libomptarget.

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




More information about the All-commits mailing list