diff options
author | Joseph Huber <huberjn@outlook.com> | 2025-03-20 14:17:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-20 14:17:41 -0500 |
commit | 221b0117fd21d45098ead779a040a4b939a5c84f (patch) | |
tree | 42e6d148f29966a3415b047ffe72aa054bac53fd /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 7c11d053f6619e9feb73b75353cf6d40f989b8d2 (diff) | |
download | llvm-221b0117fd21d45098ead779a040a4b939a5c84f.zip llvm-221b0117fd21d45098ead779a040a4b939a5c84f.tar.gz llvm-221b0117fd21d45098ead779a040a4b939a5c84f.tar.bz2 |
[LLVM] Make the GPU loader utilities an LLVM tool (#132096)
Summary:
These tools `amdhsa-loader` and `nvptx-loader` are used to execute unit
tests directly on the GPU. We use this for `libc` and `libcxx` unit
tests as well as general GPU experimentation. It looks like this.
```console
> clang++ main.cpp --target=amdgcn-amd-amdhsa -mcpu=native -flto -lc ./lib/amdgcn-amd-amdhsa/crt1.o
> llvm-gpu-loader a.out
Hello World!
```
Currently these are a part of the `libc` project, but this creates
issues as `libc` itself depends on them to run tests. Right now we get
around this by force-including the `libc` project prior to running the
runtimes build so that this dependency can be built first. We should
instead just make this a simple LLVM tool so it's always available.
This has the effect of installing these by default now instead of just
when `libc` was enabled, but they should be relatively small. Right now
this only supports a 'static' configuration. That is, we locate the CUDA
and HSA dependencies at LLVM compile time. In the future we should be
able to provide this by default using `dlopen` and some API.
I don't know if it's required to reformat all of these names since they
used the `libc` naming convention so I just left it for now.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions