[PATCH] D42922: [CUDA] Register relocatable GPU binaries

Jonas Hahnfeld via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 5 11:28:40 PST 2018


Hahnfeld planned changes to this revision.
Hahnfeld added a comment.

I didn't write tests for this yet, but I wanted to get some early feedback on this and show what I have in mind.



================
Comment at: lib/CodeGen/CGCUDANV.cpp:330-331
   // the GPU side.
   for (const std::string &GpuBinaryFileName :
        CGM.getCodeGenOpts().CudaGpuBinaryFileNames) {
     llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> GpuBinaryOrErr =
----------------
Can we actually have multiple GPU binaries here? If yes, how do I get there?


================
Comment at: lib/CodeGen/CGCUDANV.cpp:342-343
+    if (RelocatableDeviceCode)
+      // TODO: Figure out how this is called on mac OS!
+      FatbinConstantName = "__nv_relfatbin";
+    else
----------------
@jlebar Could yo help me here as I don't have a Mac? I'd guess it's `__NV_CUDA,__nv_relfatbin` but I'd feel better if I can get a confirmation...


================
Comment at: lib/CodeGen/CGCUDANV.cpp:350-351
         CGM.getTriple().isMacOSX() ? "__NV_CUDA,__fatbin" : ".nvFatBinSegment";
+    // TODO: Figure out how this is called on mac OS!
+    const char *NVModuleIDSectionName = "__nv_module_id";
 
----------------
@jlebar The same here, probably `__NV_CUDA,__nv_module_id`?


Repository:
  rC Clang

https://reviews.llvm.org/D42922





More information about the cfe-commits mailing list