[all-commits] [llvm/llvm-project] 50445d: [libc] Add more utility functions for the GPU
Joseph Huber via All-commits
all-commits at lists.llvm.org
Mon Apr 24 13:48:10 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 50445dff43037014a23eb38b1f50bb698e64ffcf
https://github.com/llvm/llvm-project/commit/50445dff43037014a23eb38b1f50bb698e64ffcf
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2023-04-24 (Mon, 24 Apr 2023)
Changed paths:
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/RPC/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/startup/gpu/nvptx/start.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
Log Message:
-----------
[libc] Add more utility functions for the GPU
This patch adds extra intrinsics for the GPU. Some of these are unused
for now but will be used later. We use these currently to update the
`RPC` handling. Currently, every thread can update the RPC client, which
isn't correct. This patch adds code neccesary to allow a single thread
to perfrom the write while the others wait.
Feedback is welcome for the naming of these functions. I'm copying the
OpenMP nomenclature where we call an AMD `wavefront` or NVIDIA `warp` a
`lane`.
Reviewed By: tra
Differential Revision: https://reviews.llvm.org/D148810
Commit: 7090c102731192d5abafb7e0b2b49adb4912efae
https://github.com/llvm/llvm-project/commit/7090c102731192d5abafb7e0b2b49adb4912efae
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2023-04-24 (Mon, 24 Apr 2023)
Changed paths:
M libc/src/__support/CPP/functional.h
M libc/src/__support/CPP/type_traits.h
M libc/src/__support/CPP/utility.h
Log Message:
-----------
[libc] Adjust the `cpp:function` type to support lambdas
The current function type does not support generic lambdas because it
relies on the lambda being implicitly convertible to a function pointer.
This patch adds support for this by copying the existing lightweight
`function_ref` type.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D148971
Compare: https://github.com/llvm/llvm-project/compare/5084ba395e48...7090c1027311
More information about the All-commits
mailing list