[clang] [CUDA] Add device-side kernel launch support (PR #165519)

Joseph Huber via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 24 10:33:27 PST 2025


================
@@ -525,6 +564,11 @@ Expected<SmallVector<StringRef>> getInput(const ArgList &Args) {
           object::Archive::create(Buffer);
       if (!LibFile)
         return LibFile.takeError();
+      // Skip extracting archives with fat binaries. Forward them to nvlink.
+      if (hasFatBinary(**LibFile)) {
+        ForwardArchives.emplace_back(Args.MakeArgString(*Filename));
----------------
jhuber6 wrote:

Makes sense that it's compressed, a bit more difficult to work with then. If it's too much effort then we can just append the library to the end, that should just store them in a separate list and then append the one we already create.

If you want to try to do this more intelligently, where we extract the appropriate cubin and feed it to `nvlink` (this is what nvlink does internally most likely) you can do that.

https://github.com/llvm/llvm-project/pull/165519


More information about the cfe-commits mailing list