[all-commits] [llvm/llvm-project] 334bbc: [libc] Add support for the 'fread' function on the...

Joseph Huber via All-commits all-commits at lists.llvm.org
Wed Jul 26 11:52:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 334bbc0d679de1358eb97afdc6de88fa9fa78155
      https://github.com/llvm/llvm-project/commit/334bbc0d679de1358eb97afdc6de88fa9fa78155
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2023-07-26 (Wed, 26 Jul 2023)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/__support/File/gpu/file.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fopen_test.cpp
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Add support for the 'fread' function on the GPU

This patch adds support for `fread` on the GPU via the RPC mechanism.
Here we simply pass the size of the read to the server and then copy it
back to the client via the RPC channel. This should allow us to do the
basic operations on files now. This will obviously be slow for large
sizes due ot the number of RPC calls involved, this could be optimized
further by having a special RPC call that can initiate a memcpy between
the two pointers.

Reviewed By: jdoerfert

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




More information about the All-commits mailing list