[llvm-dev] [CUDA] Lost debug information when compiling CUDA code

Yuanfeng Peng via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 14 04:05:59 PDT 2017

Yes, I've inspected all the intermediate IR files and source level information is present in them.

------------------ Original ------------------
From:  "Madhur Amilkanthwar";<madhur13490 at gmail.com>;
Send time: Wednesday, Jun 14, 2017 5:03 PM
To: "Yuanfeng Peng"<yuanfengp at foxmail.com>; 
Cc: "via llvm-dev"<llvm-dev at lists.llvm.org>; 
Subject:  Re: [llvm-dev] [CUDA] Lost debug information when compiling CUDA code

Is source level information present in generated IR files? 

On Wed, Jun 14, 2017 at 12:29 PM, Yuanfeng Peng via llvm-dev <llvm-dev at lists.llvm.org> wrote:

I needed to debug some CUDA code in my project; however, although I used -g when compiling the source code, no source-level information is available in cuda-gdb or cuda-memcheck.  

Specifically, below is what I did:

1) For a CUDA file a.cu, generate IR files: clang++ -g -emit-llvm --cuda-gpu-arch=sm_35 -c a.cu;
2) Instrument the device code a-cuda-nvptx64-nvidia-cuda-sm_35.bc (generated in the previous step), inserting a call to a hook function before each device memory access.  The hook function is defined in another file, b.cu.  Let's say we get a file named intrumented-a-device.bc after this step;
3) Generate IR files for b.cu: clang++ -g -emit-llvm --cuda-gpu-arch=sm_35 -c b.cu;
4) Link instrumented-a.device.bc with the device code generated for b.cu: llvm-link intrumented-a-device.bc b-cuda-nvptx64-nvidia-cuda-sm_35.bc -o ab-device.bc;
5) Use llc, ptxas & fatbinary on ab-device.bc to get ab-device.ptx, ab-device.o & ab-device.fatbin;
6) Call clang again the generate the host object file ab.o, with ab-device.o & ab-device.fatbin embedded;
7) Link against libraries and get the final binary: a.out.

The binary a.out fails with an exception I when run it; but when I try to debug it with cuda-gdb or cuda-memcheck, no source information was available.  Why?

Yuanfeng Peng
 LLVM Developers mailing list
 llvm-dev at lists.llvm.org

Disclaimer: Views, concerns, thoughts, questions, ideas expressed in this mail are of my own and my employer has no take in it. 

Thank You.
Madhur D. Amilkanthwar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170614/a23dd311/attachment.html>

More information about the llvm-dev mailing list