[all-commits] [llvm/llvm-project] 59896c: [libc] Remove the 'rpc_reset' routine from the RPC...

Joseph Huber via All-commits all-commits at lists.llvm.org
Thu Sep 21 09:07:23 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 59896c168a5a2aaff12049bcb22d819c3d244f8f
  Author: Joseph Huber <35342157+jhuber6 at users.noreply.github.com>
  Date:   2023-09-21 (Thu, 21 Sep 2023)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/spec/gpu_ext.td
    M libc/src/__support/RPC/rpc.h
    M libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_reset.cpp
    R libc/src/gpu/rpc_reset.h
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/test/src/__support/RPC/rpc_smoke_test.cpp
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp
    M libc/utils/gpu/server/rpc_server.cpp
    M libc/utils/gpu/server/rpc_server.h

  Log Message:
  [libc] Remove the 'rpc_reset' routine from the RPC implementation (#66700)

This patch removes the `rpc_reset` function. This was previously used to
initialize the RPC client on the device by setting up the pointers to
communicate with the server. The purpose of this was to make it easier
to initialize the device for testing. However, this prevented us from
enforcing an invariant that the buffers are all read-only from the
client side.

The expected way to initialize the server is now to copy it from the
host runtime. This will allow us to maintain that the RPC client is in
the constant address space on the GPU, potentially through inference,
and improving caching behaviour.

More information about the All-commits mailing list