Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
a2fc276e |
| 04-Dec-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Remove complicated header guards on HSA include
Summary: This is much more standard now, we already require new HSA with what we use, so no point checking for this.
|
Revision tags: llvmorg-19.1.5 |
|
#
89d8e700 |
| 27-Nov-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Export a pointer to the RPC client directly (#117913)
Summary: We currently have an unnecessary level of indirection when initializing the RPC client. This is a holdover from when the RPC cli
[libc] Export a pointer to the RPC client directly (#117913)
Summary: We currently have an unnecessary level of indirection when initializing the RPC client. This is a holdover from when the RPC client was not trivially copyable and simply makes it more complicated. Here we use the `asm` syntax to give the C++ variable a valid name so that we can just copy to it directly.
Another advantage to this, is that if users want to piggy-back on the same RPC interface they need only declare theirs as extern with the same symbol name, or make it weak to optionally use it if LIBC isn't avaialb.e
show more ...
|
#
38049dc8 |
| 27-Nov-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Handle differing wavefront sizes correctly in the AMDHSA loader (#117788)
Summary: The AMDGPU backend can handle wavefront sizes of 32 and 64, with the native hardware preferring one or the o
[libc] Handle differing wavefront sizes correctly in the AMDHSA loader (#117788)
Summary: The AMDGPU backend can handle wavefront sizes of 32 and 64, with the native hardware preferring one or the other. The user can override the hardware with `-mwavefrontsize64` or `-mwavefrontsize32` which previously wasn't handled. We need to know the wavefront size to know how much memory to allocate and how to index the RPC buffer. There isn't a good way to do this with ROCm so we just use the LLVM support for offloading to check this from the image.
show more ...
|
#
b4d49fb5 |
| 25-Nov-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Remove RPC server API and use the header directly (#117075)
Summary: This patch removes much of the `llvmlibc_rpc_server` interface. This pretty much deletes all of this code and just replace
[libc] Remove RPC server API and use the header directly (#117075)
Summary: This patch removes much of the `llvmlibc_rpc_server` interface. This pretty much deletes all of this code and just replaces it with including `rpc.h` directly. We still maintain the file to let `libc` handle the opcodes, since those depend on the `printf` impelmentation.
This will need to be cleaned up more, but I don't want to put too much into a single patch.
show more ...
|
#
676a1e66 |
| 22-Nov-2024 |
Joseph Huber <huberjn@outlook.com> |
[AMDGPU] Remove uses of deprecreated HSA executable functions (#117241)
Summary: These functions were deprecated in ROCR 1.3 which was released quite some time ago. The main functionality that was l
[AMDGPU] Remove uses of deprecreated HSA executable functions (#117241)
Summary: These functions were deprecated in ROCR 1.3 which was released quite some time ago. The main functionality that was lost was modifying and inspecting the code object indepedently of the executable, however we do all of that custom through our ELF API. This should be within the versions of other functions we use.
show more ...
|
Revision tags: llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2 |
|
#
ee57a685 |
| 07-Oct-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Make a dedicated thread for the RPC server (#111210)
Summary: Make a separate thread to run the server when we launch. This is required by CUDA, which you can force with `export CUDA_LAUNCH_B
[libc] Make a dedicated thread for the RPC server (#111210)
Summary: Make a separate thread to run the server when we launch. This is required by CUDA, which you can force with `export CUDA_LAUNCH_BLOCKING=1`. I figured I might as well be consistent and do it for the AMD implementation as well even though I believe it's not necessary.
show more ...
|
Revision tags: llvmorg-19.1.1 |
|
#
6558e561 |
| 28-Sep-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Update HSA queues to use the maximum size and set the barrier bit (#110034)
Summary:
It's safer to use the maximum size, as this prevents the runtime from
oversubscribing with multiple prod
[libc] Update HSA queues to use the maximum size and set the barrier bit (#110034)
Summary:
It's safer to use the maximum size, as this prevents the runtime from
oversubscribing with multiple producers. Additionally we should set the
barrier bit to ensure that the queue entries block if multiple are
submitted (Which shouldn't happen for this tool).
show more ...
|
#
b712a144 |
| 27-Sep-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Fix memory leak and accidentally ignoring dimensions in loader
Summary: The loader had a bug where we weren't setting the dimensions correctly, also I forgot to delete the paths for this RPC
[libc] Fix memory leak and accidentally ignoring dimensions in loader
Summary: The loader had a bug where we weren't setting the dimensions correctly, also I forgot to delete the paths for this RPC call.
show more ...
|
Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3 |
|
#
8c6a6f1a |
| 06-Aug-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Make RPC malloc implementation return 'nullptr' on alloc failure
Summary: `malloc` is supposed to return `nullptr` if it fails, not exit with an error code.
|
Revision tags: llvmorg-19.1.0-rc2 |
|
#
5e326983 |
| 01-Aug-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Use LLVM CommandLine for loader tool (#101501)
Summary: This patch removes the ad-hoc parsing that I used previously and replaces it with the LLVM CommnadLine interface. This doesn't change a
[libc] Use LLVM CommandLine for loader tool (#101501)
Summary: This patch removes the ad-hoc parsing that I used previously and replaces it with the LLVM CommnadLine interface. This doesn't change any functionality, but makes it easier to maintain.
show more ...
|
#
feeb8335 |
| 01-Aug-2024 |
Joseph Huber <huberjn@outlook.com> |
[libc] Change the GPU loaders to LLVM executables (#101442)
Summary: I am going to rework these tools to just me LLVM tools. This patch is pretty much NFC to set up the CMake for that.
|